У нас есть единый вход на сайт для логина и пароля. Наше приложение Angular перенаправляет на сайт IDP, а сайты проверяют с помощью логина и пароля, перенаправляет на приложение Angular. Угловые запросы приложений на токен доступа и сайт IDP возвращают токен доступа.
Поэтому мой вопрос заключается в том, как проверить этот токен jwt, сгенерированный с помощью IDP / единого входа на сайте? В моем ASP.NET Web API
var jwtToken = tokenHandler.ReadToken(token) as JwtSecurityToken;
if (jwtToken == null)
return null;
var symmetricKey = Convert.FromBase64String(SecretKey);
var validationParameters = new TokenValidationParameters()
{
RequireExpirationTime = true,
ValidateIssuer = false,
ValidateAudience = false,
IssuerSigningKey = new SymmetricSecurityKey(symmetricKey)
};
SecurityToken securityToken;
var principal = tokenHandler.ValidateToken(token, validationParameters, out securityToken);
В приведенном выше коде проверки у меня нет секретного ключа, я не знаю, какой секретный ключ используется IDP / Single Sign on для генерации токена.
Может кто-нибудь предложить, если секретный ключ требуется или нет. И как мне получить секретный ключ? Как проверить без секретного ключа?