我正在使用 MSAL 库通过 React 开发单页应用程序,其中用户使用 Azure 上的 SignupSignin 用户流程注册并登录帐户B2C 然后启动个人资料编辑用户流程。
但是当我检查初始 SignupSignin 流程中的帐户时,如下所示
msalInstance.getAllAccounts()
我只看到一个帐户,但一旦启动个人资料编辑流程,就会创建第二个帐户/ session 。
是否有一种方法可以在 Azure AD B2C 的所有用户流策略中使用在 SignupSignin 用户流中创建的相同 session ? 我在启动配置文件编辑用户流程时使用以下方法
const request = {
scopes: <scopes>,
account: <account>,// initial account returned when **SignupSignin** flow initiated
authority: <profileEdit.authority>
};
instance.loginRedirect(request).catch((e) => {
console.error(e);
});
最佳答案
如何在Azure AD B2C中管理用户流之间的单个帐户/ session - 代码日志
要管理 Azure AD B2C 中用户流之间的单个帐户/ session :
• 添加了 SSO(单点登录)方法来管理 AAD B2C 中用户流之间的单个帐户/ session 。
• 初始登录添加 Azure AD B2C 保留基于 cookie 的 session
与 Azure AD B2C 的集成涉及以下类型的 SSO session :
• 应用程序 - 由 Web、移动或单页应用程序管理的 session 应用程序 session 可以是存储在应用程序域名下的基于cookie的 session ,示例https://onepageapp.com
单页面应用程序可以通过 OAuth 访问、ID token 或 SAML token 进行保护。当用户尝试访问应用程序上的 protected 资源时,应用程序会检查应用程序端是否存在事件 session 。如果没有应用 session 或 session 已过期,应用会将用户带到 Azure AD B2C 登录页面
• 应用程序 - 此设置允许您专门为某个应用程序维护用户 session ,独立于其他应用程序。例如,如果您希望用户登录 opepageapp.com,无论用户是否已登录 Onepageapp,都可以使用此设置。
保持登录状态 (KMSI) - 通过使用持久 cookie 延长 session 生命周期。
注意:以下引用链接中提供了 XML 文件来进行相同的设置。
关于azure - 如何在 Azure AD B2C 中管理用户流之间的单个帐户/ session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68789539/