azure-api-management - 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"}
谢谢,
解决方案
从策略中删除 require-scheme="Bearer "。它仍将验证在 Authorization 标头中发送的 Bearer 令牌为 Authorization: Bearer xxxxx
推荐阅读
- c - C中的结构抛出段错误(核心转储)
- firebase - 错误:无法加载默认凭据。- 云功能
- mysql - 使用 Android Studio 从 MySql 中检索变量
- spring-boot - 与在 Kubernetes 集群上使用直接 RSocket 应用程序通信相比,Netifi 代理有哪些改进?
- node.js - 由于节点版本较新,无法更新 npm
- r - 使用R中的dplyr过滤所有包含高于/低于阈值的数字的列?
- javascript - amp-script 如何检测网络应用程序是否独立运行?
- javascript - 如何过滤 StartTime 和 EndTime 时间戳之间的对象数组并获取匹配记录
- java - 处理连接服务器-多客户端会出现错误:对等方重置连接:SocketException 中的套接字写入错误
- parsing - 单子的 Data.List 插入