Я не могу получить PostLogoutRedirectUri от IdentityServer4, потому что logoutId в моем действии Logout всегда имеет значение null.Я проверил, и свойство PostLogoutRedirectUris имеет точно такой же URL-адрес, который я отправляю, и оно все равно не будет работать, logoutId всегда равно нулю.
После более глубокого исследования я обнаружил, что одна из выдаваемых ошибок:из-за того, что 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()) }
};
Запрос:
Я прочитал много связанных с этим вопросов, таких каккак, но не ограничиваясь: