网络核心/ IdentityServer:无法注销

时间:2019-12-26 08:58:38

标签: c# .net-core asp.net-identity asp.net-core-webapi identityserver4

在我的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);

1 个答案:

答案 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} } 默认情况下 。您可以设置自己的身份服务器来测试方案。