Azure AD - MSAL.js - ssoSilent()与获取令牌Silent()

o2gm4chl  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(164)

试图弄清楚。在MSAL.js中ssoSilent()acquireTokenSilent()之间有什么区别?
这两个函数似乎都获取了一个内部有令牌的auth对象。你可以调用ssoSilent(...)而不提供帐户。但是你可以通过instance.getAllAccounts()[1]获取这些令牌,然后调用acquireTokenSilent(...),但这听起来并不合理。
我在某个地方发现,你应该在登录时调用ssoSilent(...),然后在调用API时调用acquireTokenSilent(...),但是acquireTokenSilent(...)本身似乎完成了所有的工作。
有人能澄清一下,它们有什么不同/什么时候使用哪个吗?

euoag5mw

euoag5mw1#

MSAL同时提供静默登录或SSO方法。但在某些情况下,你需要使用交互式方法。例如,由于某些浏览器中存在第三方Cookie限制插件,因此即使用户与Azure AD进行活动会话,ssoSilent请求也会“失败”。作为补救措施,您可以将prompt值作为none传递给交互式请求(如loginPopup)。然后,MSAL.js将向Azure AD打开一个弹出窗口,Azure AD将通过利用现有会话Cookie来荣誉提示值。在这种情况下,用户将看到一个简短的弹出窗口,但不会被提示输入凭证。

相关问题