Я реализовал Identity Provider и клиентское приложение, используя поток кода. При проверке токена и прохождении утверждений я не могу найти утверждения, связанные с пользователем, на которого я подаю в суд.
Код очень похож на Пример потока кода авторизации для Identity Server 4
private IEnumerable<Claim> ValidateToken(string token)
{
var certPath = Path.Combine(Server.MapPath("~/bin"), "SscSign.pfx");
var cert = new X509Certificate2(certPath);
var x509SecurityKey = new X509SecurityKey(cert);
var parameters = new TokenValidationParameters
{
RequireSignedTokens = true,
ValidAudience = audience,
ValidIssuer = validIssuer,
IssuerSigningKey = new X509SecurityKey(cert),
RequireExpirationTime = true,
ClockSkew = TimeSpan.FromMinutes(5)
};
var handler = new JwtSecurityTokenHandler();
SecurityToken jwt;
var id = handler.ValidateToken(token, parameters, out jwt);
foreach (Claim claim in id.Claims)
{
**I can't see any claim for key email**
}
this.Request.GetOwinContext().Authentication.SignOut("TempCookie");
return id.Claims;
}
Буду признателен, если кто-нибудь поможет мне прочитать претензию по электронной почте. @ Bayardw