MSAL 浏览器扩展 AAD 会话

时间:2021-04-11 11:52:13

标签: single-sign-on azure-ad-b2c msal refresh-token msal.js

在 MSAL-broswer 中,除了使用 ssoSilent 之外,还有其他方法可以非交互式地扩展用户的 AAD 会话吗?

交互式调用后获取的刷新令牌的持续时间始终为 24 小时,与 AAD 会话的默认持续时间相同。现在 24 小时后,用户将被迫登录,即使他一直通过刷新令牌定期从令牌端点获取访问令牌,因为 AAD 会话将过期,刷新令牌也将过期。 ssoSilent 旨在在刷新令牌过期后使用(根据文档 - https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html#ssosilent

我不是在寻找使用保持登录选项的解决方案来获得长期存在的 AAD 访问(对于 24 小时的 API 调用不活动应该使用户登录)。我正在寻找像 MSAL.js 这样的解决方案,其中获取的每个新访问令牌都会自动将 AAD 会话再延长 24 小时。

可以使用 ssoSilengt,但这是正确的方法吗?如果是,何时调用它?

1 个答案:

答案 0 :(得分:0)

<块引用>

在 MSAL-broswer 中,除了使用 ssoSilent 之外,还有其他方法可以非交互式地扩展用户的 AAD 会话吗?

不,没有。

<块引用>

可以使用 ssoSilengt,但这是正确的方法吗?如果是,何时调用它?

需要注意的一点是,如果刷新令牌已过期,MSAL 浏览器将尝试以静默方式更新您的刷新令牌(即,您无需在 24 小时后自行调用 ssoSilent)。理论上,如果您想主动延长用户的会话,您可以在 24 小时到期之前调用 ssoSilent,但是,这会增加您的应用的复杂性(我们不提供执行此操作的示例)。一般来说,我们建议应用不要主动尝试更新会话/令牌,因为它会引入复杂性(否则由 teh 库处理)并可能导致不良用户体验。