我无法从IdentityServer4获取PostLogoutRedirectUri,因为“注销”操作上的logoutId始终为null。我检查了一下,并且PostLogoutRedirectUris属性具有与我发送的完全相同的url,但仍然无法正常工作,logoutId始终为null。
在进行了更深入的研究之后,我发现抛出的错误之一是由于IsActiveContext
未处于活动状态引起的:
我只是找不到修复它的过程并确认这是否是唯一的问题。
日志:
代码:
ClientStore
:
var client = new Client
{
ClientId = application.Key,
ClientName = application.Description,
AllowedGrantTypes = grantType,
AllowedScopes = new List<string>
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
IdentityServerConstants.StandardScopes.Email,
IdentityServerConstants.StandardScopes.OfflineAccess,
"role",
"openIdConnectClient"
},
AllowOfflineAccess = true,
AllowAccessTokensViaBrowser = true,
RedirectUris = new List<string> { application.Url },
PostLogoutRedirectUris = new List<string> { $"{application.Url}" },
RequireConsent = false,
ClientSecrets = new List<Secret> { new Secret(application.Key.Sha256()) }
};
请求:
我已经阅读了许多相关问题,例如但不限于: