微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 JWT 版本更新到 2.0?

如何解决如何将 JWT 版本更新到 2.0?

在通过 login.microsoftonline.com 对自己进行身份验证后,我有一个来自 Azure 的 JWT,其 iss 值为 https://sts.windows.net/...(经过一些研究,这似乎是由于 {{ 1}} 的 JWT)。为了获得 "ver": 1.0 发布的 JWT,我更新了应用程序的清单,以便将 https://login.microsoftonline.com/... 设置为 accesstokenAcceptedVersion,而不是认情况下的 2

我等了 5 个多小时,但还是得到了错误版本的令牌,我一直在获取带有 null"ver": 1.0 的 JWT。有没有我遗漏的步骤?

AuthConfig"iss": "https://sts.windows.net/..." 的值为 scope,我目前正在使用隐式流程(很快将更改为身份验证代码流程,但仅在 JWT 版本问题得到修复之后..)

提前致谢!

解决方法

访问令牌的版本与您用于请求令牌的端点无关,而是与您请求的资源相关。 ms graph api 的默认版本是 1.0 版本的令牌。如果您想获取 2.0 版本的令牌,您应该请求您的自定义 API。

首先需要创建一个代表api的应用,然后暴露Azure保护的api。

enter image description here

接下来,在“API 权限”下,授予前端应用程序访问后端 api 的权限:

  • 在“API 权限”下点击“添加权限”,然后点击“我的 API”标签。
  • 找到您的后端应用程序并选择适当的范围。
  • 点击“添加权限”。
  • 为您的 API 授予管理员许可。

enter image description here

接下来需要使用auth code flow获取访问令牌,需要先登录用户获取授权码,然后使用授权码兑换访问令牌。

>

enter image description here

解析访问令牌,它会显示 v2。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。