首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用MSAL.js获取刷新令牌?

是否可以使用MSAL.js获取刷新令牌?
EN

Stack Overflow用户
提问于 2017-05-22 19:29:51
回答 3查看 13.9K关注 0票数 14

我想与Miscrosoft Outlook集成。我可以使用MSAL.js登录并获得访问令牌,但无法获得刷新令牌。有办法做到这一点吗?

EN

回答 3

Stack Overflow用户

发布于 2017-06-07 22:07:53

假设您使用的是MSAL.js (https://github.com/AzureAD/microsoft-authentication-library-for-js),也就是使用隐式流进行身份验证和授权。

隐式流不支持刷新令牌,但您可以静默请求新令牌。这与最初请求令牌(id或access)的方式类似。不幸的是,我还没有发现MSAL.js透明地做这件事,我需要检测过期的令牌,并在我的代码中请求新的令牌。您可以阅读有关刷新令牌here的更多信息。

或者,如果您正在实现的内容允许使用其他OAuth库(例如,MSAL库),那么您可以使用显式支持刷新令牌的其他MSAL流之一。

票数 11
EN

Stack Overflow用户

发布于 2020-10-01 09:16:20

我使用的是msalv1.4.0

我删除了存储中的2个密钥(见图),然后再次调用acquireTokenSilent来获取新的访问令牌。

删除这两个密钥的代码:

代码语言:javascript
复制
const keys = Object.keys(sessionStorage).filter(x => x.indexOf('authority') > 0)
keys.forEach(x => sessionStorage.removeItem(x))
票数 2
EN

Stack Overflow用户

发布于 2020-07-08 03:21:58

我在MSAL.js文档中找不到任何答案,但是this source code comment建议您可以手动续订令牌,只将clientId作为您的作用域传递给acquireTokenSilent

若要续订idToken,请将clientId作为身份验证参数

中的唯一作用域传递

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44111753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档