2014-10-02 36 views
3

我们正在开发一个使用Azure AD和OpenIdConnect进行身份验证的MVC多租户应用程序。没有自己的Azure AD租户的用户将在我们的租户域中获得用户。注册和身份验证工作正常,我们还为我们的租户定制了登录页面(即公司徽标)。 问题在于“登录页面”进行身份验证。今天,所有的用户会被重定向到一个页面,在login.microsoftonline.com类似于此:在输入用户名之前是否可以重定向到Azure AD租户特定的登录页面?

enter image description here

我希望所有用户登陆我的域名租户定制的登录页面上(也是在login.microsoftonline.com ),让他们看到我们的标志:

enter image description here

如果从另一个租户(不是我的域名租客)用户输入他们的电子邮件,他们将被重定向到其公司的登录页面。这是极好的。在我的域名租户和任何其他租户的通用登录页面中也会发生同样的情况。这也很好。那么,我如何让所有用户登陆我们的定制登录页面?顺便说一下,所有用户都是从我们控制的应用程序重定向的,因此我们完全控制了将用户发送到Azure AD的代码。

回答

1

只需追加whr查询字符串参数即可。其值必须具有状态activedomains部分在Azure中的Active Directory(天青枭雄门户)经过验证的域名相匹配:

enter image description here

例如,如果您的域名是tradesolution.no(这是active域在AAD),你必须将用户重定向到:

https://login.microsoftonline.com/?whr=tradesolution.no

由主营业务利润率所需的任何其他参数之前或之后追加whr参数nID连接流程。检出this article too

+1

对于OIDC,您也可以使用参数'domain_hint'。 – BenV 2014-10-06 15:28:09

+1

谢谢,这个,但我在正确的道路:)我结束了在OpenIdConnectAuthenticationNotifications-> RedirectToIdentityProvider添加域提示,工作! RedirectToIdentityProvider =(context)=> { } context.ProtocolMessage.DomainHint =“”; return Task.FromResult(0); }, – 2014-10-07 09:09:24

-3

我们在博客上介绍了如何使用Open ID Connect,SAML-P和WS-Fed实现这种情况。请参阅here 请注意,您需要能够将查询字符串参数注入到登录URL中。

+2

在此处添加相关信息,因为稍后的外部链接可能会中断 – Panther 2015-10-01 04:09:27

+0

... aaa和外部链接断开。 – 2016-12-21 20:51:05

相关问题