我对Identity Server 4有问题,尤其是注销后的重定向问题。我有一个JS客户端(使用Angular,使用angular-oauth2-oidc),到目前为止一切正常。 我的问题是当我尝试注销时。我的客户使用经典URL调用了endession端点,该URL实际上包含post_logout_redirect_uri参数。
https://localhost:5000/connect/endsession?id_token_hint=.....
&post_logout_redirect_uri=http://localhost:4200
IdentityServer4返回302响应,并带有Location标头:'http://localhost:5000/Identity/Account/Logout'。这里的问题是redirect_uri在过程中以某种方式消失了……结果是,注销页面没有要重定向的URI,因此它留在了注销页面中。
我的客户端配置如下:
new Client
{
ClientId = "Angular.Client",
ClientName = "Angular Client",
AllowedGrantTypes = GrantTypes.Implicit,
RequireConsent = false,
// where to redirect to after login
RedirectUris = { "http://localhost:4200" },
// where to redirect to after logout
PostLogoutRedirectUris = { "http://localhost:4200" },
AlwaysSendClientClaims = true,
AlwaysIncludeUserClaimsInIdToken = true,
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
JwtClaimTypes.GivenName
},
AllowOfflineAccess = true,
AllowAccessTokensViaBrowser = true,
AllowedCorsOrigins = { "http://localhost:4200" }
},
任何帮助都非常欢迎。谢谢!