IdentityServer直接注销重定向到页面

时间:2016-11-24 08:03:43

标签: identityserver3

我有一个IdentityServer选项可以在没有注销标准的情况下重定向。

var options = new IdentityServerOptions    
     {
          // other options ....
          AuthenticationOptions = new AuthenticationOptions
          {
              EnablePostSignOutAutoRedirect = true,
              EnableSignOutPrompt = false, 
          }
     };

当我退出时,系统会将我重定向到一个身份服务器页面,该页面上有一条消息,如“你要注销”。但是这个页面显示的时间非常短,我正在快速重定向到登录页面。我可以在注销时跳过此身份服务器页面吗?

我这样的退出控制器。

    public ActionResult Logout()
    {
        if (Request.GetOwinContext().Authentication.User.Identity.IsAuthenticated)
        {
            var properties = new AuthenticationProperties
            {
                RedirectUri = "https://localhost:33125/"
            };

            Request.GetOwinContext().Authentication.SignOut(properties);
        }

        return Redirect("/");
    }

3 个答案:

答案 0 :(得分:1)

阅读文档:https://identityserver.github.io/Documentation/docsv2/configuration/authenticationOptions.html

AuthenticationOptionsEnablePostSignOutAutoRedirectPostSignOutAutoRedirectDelay设置。

请注意,如果您在太短的时间后将其设置为自动重定向,则您的单次注销可能无法完成用户已登录的其他应用。

答案 1 :(得分:1)

我认为您已经涵盖了IdentityServer这部分配置的文档中的所有步骤。 PostSignOutAutoRedirectDelay已默认为0.因此,它无法更快地重定向到原始网址。

我不认为有办法完全跳过这个页面,我很害怕。

答案 2 :(得分:0)

在IdentityServer4中,可以修改BackgroundColor的{​​{1}}方法,使其返回重定向:

Button

是的,这是自定义代码,这是一种快速的解决方案。