私はasp.netコアアプリケーションを持っており、アプリケーションはIdentityServer3を使用してOpenIdConnect認証を使用しています。ユーザーが正常に認証されると、アプリケーションはIDサーバーから適切なクレームを受け取ります。 TokenValidatedContext.Ticket.Principal.Claims
の行をデバッグしてOnTokenValidatd
に書き込んで、アプリケーションがすべてのクレームを受け取れるようにしてください。私はホームコントローラにUser.Cliams
をデバッグするときASP.NET CoreがなぜUser.Claimsプロパティにクレームを2回追加するのですか?
コードスニペット以下
var connectOptions = new OpenIdConnectOptions()
{
AutomaticAuthenticate = true,
AutomaticChallenge = true,
Authority = authority,
ClientId = clientId,
ResponseType = IdentityConstant.IdTokenClaim,
AuthenticationScheme = IdentityConstant.OpenIdAuthenticationScheme,
SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme,
PostLogoutRedirectUri = postlogoutRedirectUri,
CallbackPath = IdentityConstant.CallbackPath,
Events = new OpenIdConnectEvents()
{
OnTokenValidated = async context =>
{
var claims = context.Ticket.Principal.Claims;
await Task.FromResult(0);
}
}
};
は、認証が成功した後、
しかしOnTokenValidated
ハンドラでTokenValidatedContext.Ticket.Principal.Claims
の迅速な腕時計ですが、私はすべての請求を参照してください2回加える。
以下はホームコントローラクレームはUser.Claimsで二回追加取得しているのはなぜ
でUser.Claims
の速い時計はありますか?
クレームが重複している様子はわかりません... – DForck42