Azure AD B2C单点登录实施

时间:2016-04-22 06:14:03

标签: c# asp.net-mvc azure single-sign-on azure-active-directory

我在C#MVC 5.0应用程序中使用Azure AD实现身份验证。我创建了Azure AD B2C租户,我的宗旨是在其中注册了三个应用程序。

我想实现单点登录,因此如果用户登录了一个应用程序中的任何一个,他也将直接登录其他应用程序。

我想在网上找到解决方案,但没有找到明确的帮助我如何开始并实施。

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

2 个答案:

答案 0 :(得分:2)

  

如果用户登录了一个应用程序中的任何一个,他也将直接登录其他应用程序

登录其中一个应用程序并不会使用户自动登录到其他应用程序中。只有用户浏览应用程序后才会发生这种情况,并且SSO协议会控制浏览器的握手顺序。

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

考虑电影院中的售票处(SSO身份提供商,您的案例中的Azure)和剧院的多个入口(您的应用程序)。购买票证(身份提供商中的登录名)并不会自动使所有票务检查员知晓(您不会自动登录到处)。相反,当您接近特定入口并显示您的票证时,特定票务检查员会接受该票证,您可以进入(您登录其中一个应用程序并接受来自身份提供商的令牌)而其他检查员不会注意到(其他应用程序)我不知道你刚刚登录过某个地方。)

对于技术部分,Azure实现了OAuth2和WS-Fed协议。您可以找到许多关于如何使用两者之一集成Web应用程序的教程。如果您在特定技术问题上需要帮助,请随时创建新的具体问题。请记住只关注特定问题,关于可能建议的问题(我应该使用OAuth2还是WS-Fed?我应该将哪个特定客户端库用于OAuth2?)don& #39;非常适合这里,可能会被关闭。

答案 1 :(得分:1)

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