Bol*_*and 5 azure azure-active-directory azure-ad-b2c azure-ad-msal
我们使用 Azure AD B2C 通过我们的 API 对用户进行身份验证。客户端(Angular 2)和 API 具有相同的客户端 ID。
这一切正常。作为我定义的范围openid。
但是,在登录超过到期时间后调用 AcquireTokenAsync 时,我现在收到此错误:
“AADB2C90055:请求中提供的范围‘openid profile’必须指定一个资源,例如‘ https://example.com/calendar.read ’。
我正在从我们的 Angular 应用程序中调用这个方法;我们正在使用 MSAL.JS。因此,它在令牌到期时间(默认为 60 分钟)内工作正常,但 60 分钟后我开始收到此错误。
与此处的错误 1 完全相同的问题:Azure AD B2C 令牌问题
这是 MSAL JS 中的错误还是我们的设置不正确?我知道我可以为我们的 API 创建一个单独的客户端 ID,但这对于登录来说工作正常,所以我没有打扰。我们的 API 只需要知道用户名、电子邮件等。
您无法刷新令牌的原因是Microsoft Javascript 身份验证库 (MSAL.js)仅支持 OAuth 隐式授权。
OAuth 隐式授权,按照设计,不支持/返回刷新令牌:
隐式授权类型用于获取访问令牌(它不支持发布刷新令牌),并针对已知操作特定重定向 URI 的公共客户端进行了优化。这些客户端通常使用 JavaScript 等脚本语言在浏览器中实现。
为了获得刷新令牌,您需要使用授权代码授予进行身份验证。这将需要在您的后端进行一些工作来捕获授权代码并将其转换为访问和刷新令牌。
| 归档时间: |
|
| 查看次数: |
1173 次 |
| 最近记录: |