首页 > 解决方案 > jwt 验证 azure api 管理

问题描述

我已经通过 azure api 管理实现了对 api 请求的 jwt 验证,但它失败了。政策是这样的。

<validate-jwt header-name="Autherization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid." require-scheme="Bearer ">
<openid-config url="https://myb2cdev.b2clogin.com/myb2cdev.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=B2C_1ctest" />
            <audiences>
                <audience>169679ed8-61df-0695-4375-574c3287ee98</audience>
            </audiences>
            <issuers>
                <issuer>https://myb2cdev.b2clogin.com/97a8e403-f111-4454-8561-0c2881aae4a/v2.0/</issuer>
            </issuers>
  </validate-jwt>

授权令牌包含附加的承载字符串。ex token: "Bearer auserasereadnasewrewrwerwete...." 注意:Bearer 和实际 token 之间有一个空格。

任何机构都可以帮助我解决这个问题。响应总是:{statusCode":401,"message":"Unauthorized.Access token is missing or invalid"}

谢谢,

标签: azure-api-management

解决方案


从策略中删除 require-scheme="Bearer "。它仍将验证在 Authorization 标头中发送的 Bearer 令牌为 Authorization: Bearer xxxxx


推荐阅读