Я пытаюсь реализовать функцию выхода из системы в типе предоставления ResourceOwnerPassword.В соответствии с моим пониманием при выходе из системы мне нужно вызвать конечную точку отзыва токена, которая фактически отменит токен доступа.Отзыв токена работает только со ссылочными токенами, поскольку токен JWT не может быть отозван.По какой-то причине при изменении accesstokentype на AccessTokenType.Reference сервер идентификации перестает работать и начинает выдавать внутреннюю ошибку сервера.
Я уже просмотрел официальную документацию identityserver4.Насколько я понимаю, я правильно использовал каждый бит и кусок, но по какой-то причине сервер выдает внутреннюю ошибку сервера при изменении accesstokentype.это работает абсолютно нормально, когда я изменяю accesstokentype обратно на AccessTokenType.Jwt.Но, очевидно, мне нужно изменить этот тип для реализации отзыва токена.
{
ClientId = SecurityOptions.ISClientId,
AllowedGrantTypes =
GrantTypes.List(GrantType.ResourceOwnerPassword),
AllowedScopes = requiredScope,
ClientSecrets =
{
new Secret(SecurityOptions.ISClientSecret.Sha256())
},
AccessTokenType = AccessTokenType.Reference,
AlwaysIncludeUserClaimsInIdToken = true,
AccessTokenLifetime = 86400,
IdentityTokenLifetime = 86400,
AlwaysSendClientClaims = true,
Enabled = true,
}
var identityServerValidationOptions = new IdentityServerAuthenticationOptions
{
Authority = config.SecurityOptions.ISAuthority,
AllowedScopes = requiredScope,
ApiSecret = config.SecurityOptions.ISClientSecret,
ApiName = config.SecurityOptions.ISRequiredScope,
AutomaticAuthenticate = true,
SupportedTokens =
dentityServer4.AccessTokenValidation.SupportedTokens.Both,
AutomaticChallenge = true,
RequireHttpsMetadata = requireHttpsMetadata,
};
app.UseIdentityServerAuthentication(identityServerValidationOptions);
должен возвращать эталонный токен при установке правильного типа.но он бросает внутренний сервер.Дайте мне знать, если мне понадобится ввести еще один код.