У меня проблема с Identity Server 4, особенно с перенаправлением после выхода из системы. У меня есть JS-клиент (с Angular, использующим angular-oauth2-oidc), и пока все работает просто отлично.
Моя проблема, когда я пытаюсь выйти из системы. Мой клиент вызывает конечную точку 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" }
},
Любая помощь приветствуется. спасибо!