IdentityServer4와 OpenId를 사용하여 MVC 응용 프로그램에서 사용자를 인증하고 본인 소유의 클레임을 추가하려고합니다. 그러나 나는이 작업을 수행해야 OpenIdConnectEvents의 모를입니다.OpenIdConnectEvents의 AuthenticationValidated 이벤트가 AspNetCore 1.1에 존재하지 않습니다. 클레임 클라이언트 측을 어디에 추가해야합니까?
이 tutorial 내가 그런를 말한다 ... 인증 흐름 동안
, 당신은 당신이 IDP에서 얻을 주장을 수정 할 수 있습니다 . ASP.NET Core 1.0에서는 OpenID Connect 미들웨어의 AuthenticationValidated 이벤트 내에서 클레임 변환을 수행 할 수 있습니다.그러나이 이벤트는 1.1AuthenticationValidated 중에 추가하는 모든 클레임은 세션 인증 쿠키에 저장됩니다.
내가 있습니다 .. TokenValidated 이벤트
var principal = context.Request.HttpContext.User;
principal.Identities.First().AddClaim(new Claim("TenantId", user.TenantId.ToString()));
을 그것을 위해 노력했다 ASP.NET 코어에서 사용할 수 없습니다하지만 인증 후 사용자의 주장을 나열 할 때 그것은 목록에 없습니다. TokenValidated
이벤트를 사용
@foreach (var claim in User.Claims)
{
<dt>@claim.Type</dt>
<dd>@claim.Value</dd>
}