【问题标题】:How to get azure ad refresh token with react如何通过反应获取天蓝色广告刷新令牌
【发布时间】:2021-06-18 07:56:33
【问题描述】:

我正在使用 React、msal-react 和 msal-browser 做一个项目。

我可以使用 msal-react 库提供的功能获取访问令牌,但我无法手动获取刷新令牌。

我从网络上可以看到,用户通过重定向登录时执行了一个令牌请求,并且显然返回了令牌和刷新令牌。但是,刷新令牌受到很好的保护,无法在 cookie、会话存储或实例下找到。

前端是否可以获取天蓝色广告的刷新令牌?

抱歉,由于安全要求,我无法发布我的代码

【问题讨论】:

  • 为什么需要获取刷新令牌?通常,您每次要发出请求时都调用acquireTokenSilent,如果可用,它将返回一个令牌(如果需要,使用刷新令牌),如果不可用则抛出错误。如果发生该错误,您将需要进行交互式身份验证。通常,您无需担心刷新令牌。
  • stackoverflow.com/a/44415012/14574199 msal.js ,使用acquireTokenSilent 无法返回刷新令牌。
  • acquireTokenSilent/acquireTokenPopup 将返回AuthenticationResult,并且无法返回刷新令牌。
  • 感谢您的回复。 1. 我要提取刷新令牌的原因是后端服务要我用它来交易应用程序访问令牌 2. 是的,acquireTokenSilent 不返回刷新令牌。刷新令牌返回 azure 重定向回我的 webapp 并在内部存储刷新令牌

标签: reactjs azure-active-directory msal.js msal-react


【解决方案1】:

故意不在公共 API 表面上返回刷新令牌,因为当您调用 acquireTokenSilent 时,MSAL 将在后台处理所有必需的令牌刷新。如果后端服务需要自己的访问令牌,则需要使用服务器端库,例如 msal-node。我们不建议也不支持使用 SPA 库获取令牌并将其传递到后端,因为令牌只能发送到它们打算用于的资源。

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 2016-08-12
    • 2020-08-29
    • 2016-08-06
    • 1970-01-01
    • 2021-08-25
    • 2021-01-17
    • 2022-06-19
    • 2016-05-11
    相关资源
    最近更新 更多