2016-04-22 175 views
2

我正在C#MVC 5.0应用程序中使用Azure AD实现身份验证。我创建了Azure AD B2C租户,我的Tenet有三个注册的应用程序。Azure AD B2C单一登录实施

我想要实现单一登录,所以如果用户登录任何一个应用程序,他也会直接登录其他应用程序。

I'tried在网上找到解决方案,但没有找到明确的帮助,我可以如何开始使用它并实施。

任何来自社区的帮助将不胜感激!提前致谢。

回答

1

如果您有浏览器会话cookie,那么您应该可以在所有应用程序中获得SSO。您还应该考虑使用可在https://www.nuget.org/packages/Microsoft.Identity.Client处获得的Microsoft身份验证库(MSAL)。这个库仍在预览中。

+0

感谢Kanishk ..我在寻找的是一般编码结构,我们可以使用微软ADAL库来实现它,我不想现在使用我们的定制逻辑来实现SSO,它将是最后一个选项 – Chidrup

+0

https://github.com/azure-samples?query=active-directory上有几个示例可用 –

2

如果用户登录的话,他可以直接登录其他应用

登录到应用的一个不会使用户自动登录其他一个应用程序中的任何一个应用。这发生在之后之后,用户浏览到应用程序,并且SSO协议通过浏览器控制握手序列。

从用户角度来看,这没有什么区别。他们导航到您的任何应用程序,并且他们已登录,他们通常甚至没有注意到重定向/响应顺序。

从电影院的售票处(您的案例中的SSO身份提供商Azure)和剧院(您的应用程序)的多个入口来考虑。购买票据(身份提供商中的登录)不会自动使所有检票员都知道(您不会自动登录到任何地方)。相反,当您接近特定入口并显示您的故障单时,特定故障单检查器接受故障单并允许您输入(您登录到其中一个应用程序并接受来自身份提供程序的令牌),而无需其他检查员注意(其他应用程序没有意识到你只是在某处登录)。

至于技术部分,Azure实现OAuth2和WS-Fed协议。你可以找到许多关于如何使用两者之一来集成Web应用程序的教程。如果您在特定技术问题上需要帮助,请随时创建新的特定问题。记住只注重具体问题,关于可能的建议问题(如果我宁愿用的OAuth2或WS-美联储?我应该使用哪种特定的客户端库的OAuth2?)不太适合这里很可能是关闭。

+0

是的谢谢@Wiktor,对不起,我的错误解释。我的意思是,只有当用户导航任何其他应用程序协议时才会自动获得控制权并且用户将登录。请给出Azure AD B2C租户所需的任何有用教程链接? – Chidrup

+1

这有帮助吗? https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/ –

+0

出色答卷,Wiktor的。还有一个页面描述了SSO场景 - https://azure.microsoft。COM/EN-US /文档/文章/主动目录appssoaccess,头朝下/ –