我想与 Microsoft Outlook 集成。我能够使用 MSAL.js 登录并获得访问令牌,但我无法获得刷新令牌。有没有办法做到这一点?
问问题
15534 次
3 回答
11
我假设由于您使用的是 MSAL.js ( https://github.com/AzureAD/microsoft-authentication-library-for-js ),因此您正在使用隐式流进行身份验证和授权。
隐式流不支持刷新令牌,但您可以静默请求新令牌。这与您首先请求令牌(id 或访问)的方式类似。不幸的是,我还没有发现 MSAL.js 透明地执行此操作,我需要检测过期的令牌并在我的代码中请求新的令牌。您可以在此处阅读有关刷新令牌的更多信息。
或者,如果您正在实施的内容允许您使用其他 MSAL 库之一(例如,.Net 库),那么您可以使用其他显式支持刷新令牌的 OAuth 流之一。
于 2017-06-07T14:07:53.050 回答
1
我在 MSAL.js 文档中找不到任何答案,但是此源代码注释建议您可以通过仅将 clientId 作为范围传递给acquireTokenSilent
.
要更新 idToken,请在 Authentication Parameters 中传递 clientId 作为唯一范围
于 2020-07-07T19:21:58.020 回答