gpt4 book ai didi

azure - azure apim中的JWT验证失败错误

转载 作者:行者123 更新时间:2023-12-02 05:53:20 25 4
gpt4 key购买 nike

我目前正在尝试使用以下文档实现 Oauth2.0 来保护 API

https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad

目前正在使用azure apim提供的DEMO CONFERENCE API来测试实现。

目前在开发者门户测试期间收到错误:

“message”:“JWT 验证失败:声明值不匹配:aud=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxx..”

通过解码 token 及其匹配项,将传递的 token 与声明值进行比较。

我的 jwt token 验证策略如下

<inbound>
<base />
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid." require-expiration-time="false" require-signed-tokens="false">
<openid-config url="https://login.microsoftonline.com/xxxxxxxxx-07c8-xxxxx-xxxx-xxxxxxxxx/.well-known/openid-configuration" />
<required-claims>
<claim name="aud" match="all" separator="-">
<value>xxxxxxxx-xxxxx-489e-a26e-xxxxxxxx</value>
</claim>
</required-claims>
</validate-jwt>
</inbound>

最佳答案

首先,您需要验证您的 JWT token 。然后,当我们注册应用程序时,它会注册到版本 V1,并且访问 token 颁发者附带 sts url,如果我们尝试使用 V2 传递访问 token ,则失败的 V2 颁发者是 login.microsoft.com

因此修复方法是在 AD 中注册的应用程序的 list 文件 "accessTokenAcceptedVersion": 2 中。引用这个issue .

关于azure - azure apim中的JWT验证失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57703697/

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