令牌刷新存储区以允许refresh_token

问题描述

我已经配置了IS4,并且除了refresh_token正常运行外,其他所有设备都可以正常运行,除了PersistedGrantStore

自从读取日志后,我已经实现了 2020/09/01 17:57:25.589|TRACE|Processing token request. |IdentityServer4.Endpoints.TokenEndpoint| 2020/09/01 17:57:25.616|DEBUG|Start token request. |IdentityServer4.Endpoints.TokenEndpoint| 2020/09/01 17:57:25.624|DEBUG|Start client validation |IdentityServer4.Validation.ClientSecretValidator| 2020/09/01 17:57:25.638|DEBUG|Start parsing Basic Authentication secret |IdentityServer4.Validation.BasicAuthenticationSecretParser| 2020/09/01 17:57:25.638|DEBUG|Start parsing for secret in post body |IdentityServer4.Validation.PostBodySecretParser| 2020/09/01 17:57:25.701|DEBUG|client id without secret found |IdentityServer4.Validation.PostBodySecretParser| 2020/09/01 17:57:25.701|DEBUG|Parser found secret: PostBodySecretParser |IdentityServer4.Validation.SecretParser|type=PostBodySecretParser 2020/09/01 17:57:25.720|DEBUG|Secret id found: autosmoraga_transportes_mobile_app |IdentityServer4.Validation.SecretParser|id=autosmoraga_transportes_mobile_app 2020/09/01 17:57:25.734|TRACE|Calling into client configuration validator: IdentityServer4.Validation.DefaultClientConfigurationValidator |IdentityServer4.Stores.ValidatingClientStore|validatorType=IdentityServer4.Validation.DefaultClientConfigurationValidator 2020/09/01 17:57:25.749|DEBUG|client configuration validation for client autosmoraga_transportes_mobile_app succeeded. |IdentityServer4.Stores.ValidatingClientStore|clientId=autosmoraga_transportes_mobile_app 2020/09/01 17:57:25.749|DEBUG|Public Client - skipping secret validation success |IdentityServer4.Validation.ClientSecretValidator| 2020/09/01 17:57:25.766|DEBUG|Client validation success |IdentityServer4.Validation.ClientSecretValidator| 2020/09/01 17:57:25.785|TRACE|Calling into token request validator: IdentityServer4.Validation.TokenRequestValidator |IdentityServer4.Endpoints.TokenEndpoint|type=IdentityServer4.Validation.TokenRequestValidator 2020/09/01 17:57:25.799|DEBUG|Start token request validation |IdentityServer4.Validation.TokenRequestValidator| 2020/09/01 17:57:25.825|DEBUG|Start validation of refresh token request |IdentityServer4.Validation.TokenRequestValidator| 2020/09/01 17:57:25.856|TRACE|Start refresh token validation |IdentityServer4.Validation.TokenValidator| 2020/09/01 17:57:25.928|DEBUG|refresh_token grant with value: lSWqDibFzKevkEI6KMNQyGimeK7MS7Yrjenk34XEDNQ not found in store. |IdentityServer4.Stores.DefaultRefreshTokenStore|grantType=refresh_token,key=lSWqDibFzKevkEI6KMNQyGimeK7MS7Yrjenk34XEDNQ 2020/09/01 17:57:25.939|WARN|Invalid refresh token |IdentityServer4.Validation.TokenValidator| 2020/09/01 17:57:25.961|WARN|Refresh token validation failed. aborting,{"ClientId":"XXX","ClientName":"XXX","GrantType":"refresh_token","Raw":{"client_id":"XXX","redirect_uri\n":"http:\/\/localhost:8100\/auth-callback","grant_type":"refresh_token","refresh_token":"***REDACTED***"}} |IdentityServer4.Validation.TokenRequestValidator|details={ "ClientId": "XXXX","ClientName": "XXX","GrantType": "refresh_token","Raw": { "client_id": "XXXX","redirect_uri\n": "http://localhost:8100/auth-callback","grant_type": "refresh_token","refresh_token": "***REDACTED***" } } 来存储令牌:

.AddPersistedGrantStore<PersistedGrantStore>()

我已经注册了DefaultRefreshTokenStore方法,但是我仍然可以在日志中看到正在调用refresh_token,但是我在数据库中看到已经存储了new Client { ClientId = "XXXX",ClientName = "XXX",AllowedGrantTypes = GrantTypes.Code,RequirePkce = true,RequireClientSecret = false,AllowedScopes = new List<string> { "openid","profile","myapi" },RedirectUris = new List<string> { $"{mobileBaseUrl}/auth-callback",$"{mobileAppBaseUrl}auth-callback",$"{mobileAppOrigin}/auth-callback",},PostLogoutRedirectUris = new List<string> { $"{mobileBaseUrl}/end-session",$"{mobileAppBaseUrl}end-session",$"{mobileAppOrigin}/end-session",AllowedCorsOrigins = new List<string> { mobileBaseUrl,mobileAppOrigin },AllowOfflineAccess = true,AllowAccessTokensViaBrowser = true,RequireConsent = false,AlwaysSendClientClaims = true,AlwaysIncludeUserClaimsInIdToken = true,} 类型的记录。我不确定是否遗漏了一些东西。除刷新令牌部分外,其他所有方法都工作正常。设置客户端配置并启用在线访问:

go version

所以我不确定要检查什么。作为参考,我在此处对问题进行了详细说明:https://github.com/wi3land/ionic-appauth/issues/33

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...