使用IdentityServer3自动重定向到登录页面

时间:2015-10-05 12:21:58

标签: asp.net-mvc identityserver3

我使用IdentityServer3进行身份验证。我已经在我的HomeController中添加了AuthorizeAttribute。当授权失败时,我希望它重定向到IdentityServer,特别是调用我的AccountController的SignIn操作 - 不要看到任何其他方法来执行此操作。我的SignIn方法如下:

            var state = Guid.NewGuid().ToString("N");
            var nonce = Guid.NewGuid().ToString("N");

            var url = Settings.AuthorizeEndpoint +
                "?client_id=" + Settings.ClientId +
                "&response_type=id_token" +
                "&scope=openid email public" +
                "&redirect_uri=" + Settings.RedirectUri +
                "&response_mode=form_post" +
                "&state=" + state +
                "&nonce=" + nonce;

            SetTempCookie(state, nonce);
            return Redirect(url);

除了编写自己的自定义授权属性外,还有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

如果您手动执行 - 那就是它的工作方式。

Katana OpenID Connect中间件可以简化此操作 - 如果您可以使用此库。

相关问题