我正在开发一个带有几个 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 获得单点登录行为?
最佳答案
可以使用 MSAL.js 进行 SSO。对于基于浏览器的应用程序,您通过 cookie/ session 而不是 token / token 管理实现 SSO。请引用Github library . MSAL.js 允许您使用acquireTokenSilent() 通过隐藏的iframe 使用有效的cookie。
也就是说,推荐的方法是使用 Azure KMSI使用自定义策略。这是因为基于浏览器的应用程序并不总是让用户保持登录状态,并且诸如密码更改之类的事情可能会使用户 session 无效。
关于single-sign-on - 带有 Azure AD B2C 和单点登录的 MSAL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51242142/