首页 > 解决方案 > MSAL 与 Azure AD B2C 和单一登录

问题描述

我正在开发一个带有几个 Angular 4 SPA 的系统,每个 SPA 都与一个单独的 Asp.NET Core 2.0 WebAPI 通信。

Azure AD B2C 被用作每个 SPA/API 的身份服务,MSAL.js 被用作我们 Angular SPA 的一部分。

我们希望支持单点登录,以防止用户在从一个 SPA 切换到另一个 SPA 时需要重新输入凭据。

是否可以使用 msal.js v0.1.7 获得单点登录行为?

标签: single-sign-onazure-ad-b2cmsalmsal.js

解决方案


可以使用 MSAL.js 进行 SSO。对于基于浏览器的应用程序,您可以通过 cookie/会话而不是令牌/令牌管理来实现 SSO。请参考Github 库。MSAL.js 允许您使用 acquireTokenSilent() 通过隐藏的 iframe 使用有效的 cookie。

也就是说,推荐的方法是使用带有自定义策略的 Azure KMSI。这是因为基于浏览器的应用程序并不总是让用户保持登录状态,并且诸如密码更改之类的事情可能会使用户会话无效。


推荐阅读