使用OpenIdConnectAuthentication和azure AD时如何传递login_hint?

时间:2017-05-15 11:21:17

标签: asp.net-mvc azure-active-directory openid-connect

我使用OpenIdConnectAuthentication在azure AD上登录我的用户。我是一个asp.net mvc网络应用程序。我在启动类中将OpenIdConnectAuthentication注册为以下内容,并使用控制器顶部的[Authorize]属性。一切正常,但我无法弄清楚如何使 login_hint 工作。我尝试在调用操作时将其作为查询字符串传递。有关如何使 login_hint 工作的任何想法?提前谢谢!

app.UseOpenIdConnectAuthentication(
            new OpenIdConnectAuthenticationOptions
            {
                ClientId = clientId,
                Authority = authority,
                PostLogoutRedirectUri = postLogoutRedirectUri
            });

1 个答案:

答案 0 :(得分:1)

使用RedirectToIdentityProvider通知。这允许您在将用户重定向到身份提供者之前修改请求。 Vittorio's blog还有其他详细信息。

app.UseOpenIdConnectAuthentication(
        new OpenIdConnectAuthenticationOptions
        {
            ClientId = clientId,
            Authority = authority,
            PostLogoutRedirectUri = postLogoutRedirectUri,
            Notifications = new OpenIdConnectAuthenticationNotifications()
                {
                    RedirectToIdentityProvider = (context) =>
                    {
                        context.ProtocolMessage.LoginHint = "";
                    }
                }
        });