在我的Blazor应用程序中,我使用身份服务器(identityserver.io)作为外部服务来管理授权。
登录正常,但是当我尝试注销然后尝试登录时,我无需任何用户名/ pwd即可直接登录!一个星期以来,我一直在寻找任何解决方案!
我使用以下代码:
cci
我也尝试删除所有cookie,但是HttpContext.Request.Cookies没有cookie!
我还检查了以下链接: https://mcguirev10.com/2018/01/26/signoutasync-and-identity-server-cookies.html 但我看不到有什么帮助!
仅供参考,这是我的设置方式:
var props = (returnUrl is null) ? null : new AuthenticationProperties()
{
RedirectUri = returnUrl
};
await HttpContext.SignOutAsync("Cookies");
await HttpContext.SignOutAsync("oidc", props);
答案 0 :(得分:2)
要通过单击链接Click here to return to the Interactive client ....
从IDS4注销后重定向回到您的客户端应用程序,应在客户端配置中设置正确的PostLogoutRedirectUris
>
new Client
{
....
// where to redirect to after logout
PostLogoutRedirectUris = { "http://localhost:5002/signout-callback-oidc" },
....
},
@ McGuireV10中的文章中,他正在使用身份服务器的演示服务器进行测试,并使用interactive.confidential.short
客户端,您无法设置该客户端的PostLogoutRedirectUris
,因此它将是{{1} } 默认情况下 。您可以设置自己的身份服务器来测试方案。