Azure API 管理,单个 API 接受 AAD 或订阅密钥
Azure API Management, single API accept AAD or subscription key
是否可以在 APIM 中有一个 API 接受 AAD 令牌或订阅,具体取决于它属于什么产品?
默认,这不起作用,因为在 API 级别取消选中“需要订阅”将覆盖设置产品以需要订阅。
所以,我看到了两个解决方案.. 在 APIM 中创建两个 API 并将它们放在不同的产品中(相同的后端),或者编写自定义策略。有没有办法检查 context.Subscription.Key 并与产品订阅相匹配?
应该可以通过将您的 API 添加到两个产品中来实现:
- 一个启用了订阅要求
- 另一个未启用订阅要求,但在产品级别添加了 validate-jwt 策略以要求 AAD 令牌
是否可以在 APIM 中有一个 API 接受 AAD 令牌或订阅,具体取决于它属于什么产品?
默认,这不起作用,因为在 API 级别取消选中“需要订阅”将覆盖设置产品以需要订阅。
所以,我看到了两个解决方案.. 在 APIM 中创建两个 API 并将它们放在不同的产品中(相同的后端),或者编写自定义策略。有没有办法检查 context.Subscription.Key 并与产品订阅相匹配?
应该可以通过将您的 API 添加到两个产品中来实现:
- 一个启用了订阅要求
- 另一个未启用订阅要求,但在产品级别添加了 validate-jwt 策略以要求 AAD 令牌