typescript - Azure AD - MSAL.js - ssoSilent() 与 acquireTokenSilent()

标签 typescript azure azure-active-directory msal.js

试图弄清楚。 MSAL.js 中的 ssoSilent()acquireTokenSilent() 有什么区别?

两者似乎都获取一个内部包含 token 的 auth 对象。那么您可以调用 ssoSilent(...) 而无需提供帐户。但是您可以通过 instance.getAllAccounts()[1] 获取这些内容,然后调用 acquireTokenSilent(...),但这听起来不合理。

我在某个地方发现,您应该在登录时调用 ssoSilent(...) ,然后在调用 API 时调用 acquireTokenSilent(...) ,但是acquireTokenSilent(...) 本身似乎完成了所有工作。

有人可以澄清一下它们有何不同/何时使用哪个?

最佳答案

MSAL 提供静默登录或 SSO 两种方法。但有些情况下你需要使用交互式方法。例如,由于某些浏览器中存在第三方 Cookie 限制插件,尽管存在与 Azure AD 的事件用户 session ,ssoSilent 请求仍将失败。作为补救措施,您可以将 prompt 值作为 none 传递给交互式请求,例如 loginPopup。然后,MSAL.js 将打开 Azure AD 的弹出窗口,Azure AD 将利用现有 session cookie 来接受提示值。在这种情况下,用户将看到一个简短的弹出窗口,但不会提示输入凭据。

关于typescript - Azure AD - MSAL.js - ssoSilent() 与 acquireTokenSilent(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75215247/

相关文章:

angular - 如何将highchart-more导入到Angular 4项目中

.net - Windows Azure 套接字

.net-core - 从 .NET 控制台应用程序登录到 Azure 管理 API

javascript - ADAL.js - "Nonce is not same as undefined"

azure - 将 Azure Active Directory 组添加到声明

javascript - typescript 中具有某种类型的任何属性的通用类型

javascript - 需要在 javascript 中导出 TypeScript 类

class - 使用 Angular2 在简单的类构造函数中注入(inject)服务

performance - Azure VM 监控默认运行状况标准警报通知

azure - 尝试在 Linux 虚拟机上的 Azure CLI 中创建虚拟机时出现响应错误