Azure API Management OAuth 2.0启用后无需令牌仍可访问端点问题咨询
Azure API Management OAuth2.0配置后仍可无令牌访问的排查点
- 未添加JWT验证策略
仅在「API > 设置 > 安全」中选择OAuth2.0只是启用了认证选项,并未强制校验令牌。必须在API或单个端点的入站策略中添加validate-jwt策略,确保每个请求都经过令牌校验。示例策略代码:
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Invalid token."> <openid-config url="https://你的身份提供者地址/.well-known/openid-configuration" /> <required-claims> <claim name="aud"> <value>你的API受众值</value> </claim> </required-claims> </validate-jwt>
端点安全设置未继承或未配置
部分端点可能单独设置了安全选项,覆盖了API级别的OAuth2.0配置。检查每个端点的「安全」设置,确认是否启用了OAuth2.0,未勾选「允许匿名访问」。身份提供者配置不完整
确认「API > 设置 > 安全」中OAuth2.0的身份提供者信息(如颁发者URL、客户端ID等)是否正确配置,错误的配置可能导致APIM无法正确校验令牌。请求未经过APIM网关
确保测试请求是通过APIM提供的网关URL访问,而非直接访问后端服务地址。直接访问后端会绕过APIM的所有认证策略。
内容的提问来源于stack exchange,提问作者OpenStack
相关产品推荐
相关产品推荐

