在实现参考令牌功能方面需要帮助,这是使用Identityserver4实施令牌吊销实际上所需的

时间:2019-03-26 10:05:52

标签: mysql asp.net identityserver4

我正在尝试以ResourceOwnerPassword授予类型实现注销功能。根据我的理解,在注销时,我需要调用令牌撤销端点,该端点实际上将撤销访问令牌。令牌吊销仅适用于参考令牌,因为无法撤销JWT令牌。由于将accesstokentype更改为AccessTokenType的某种原因。参考,身份服务器停止工作并开始引发内部服务器错误。

我已经阅读了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);

在设置正确的类型时,它应该返回参考标记。但是会抛出内部服务器。让我知道是否需要添加其他代码。

0 个答案:

没有答案