gpt4 book ai didi

Azure AD B2C - MSAL JS - 刷新 token 生成 AADB2C90055

转载 作者:行者123 更新时间:2023-12-01 00:19:57 24 4
gpt4 key购买 nike

我们使用 Azure AD B2C 通过我们的 API 对用户进行身份验证。客户端 (Angular 2) 和 API 都具有相同的客户端 ID。

这一切都运行良好。作为范围,我定义了 openid

但是,当登录超过过期时间后调用 AcquireTokenAsync 时,我现在收到此错误:

"AADB2C90055: The scope 'openid profile' provided in request must specify a resource, such as 'https://example.com/calendar.read'.

我从我们的 Angular 应用程序中调用此方法;我们正在使用 MSAL.JS。因此,它在 token 过期时间内(默认 60 分钟)工作正常,但 60 分钟后我开始收到此错误。

与此处的错误 1 ​​完全相同的问题:Azure AD B2C Token Issue

这是 MSAL JS 中的错误还是我们的设置不正确?我知道我可以为我们的 API 创建一个单独的客户端 ID,但这对于登录来说效果很好,所以我没有打扰。我们的 API 只需要知道用户名、电子邮件等。

最佳答案

您无法刷新 token 的原因是 Microsoft Authentication Library for JavaScript (MSAL.js)仅支持 OAuth 隐式授予。

OAuth Implicit Grants根据设计,不支持/返回刷新 token :

The implicit grant type is used to obtain access tokens (it does not support the issuance of refresh tokens) and is optimized for public clients known to operate a particular redirection URI. These clients are typically implemented in a browser using a scripting language such as JavaScript.

为了获取刷新 token ,您需要使用 the Authorization Code Grant 进行身份验证。这需要在后端进行一些工作来捕获授权代码并将其转换为访问 token 和刷新 token 。

关于Azure AD B2C - MSAL JS - 刷新 token 生成 AADB2C90055,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com