azure - 根据特定的 JWT 声明将请求转发到区域 API
问题描述
是否可以根据特定的 JWT 声明将请求转发到区域 API?
我正在开发的平台每个区域都有一个 API,我们的客户需要知道它才能构建基本请求 URL - 例如:https://{region}.service.com
不幸的是,在我们的场景中,尝试找出从 Azure APIM 自动调用哪个区域 api(例如:在https://api.service.com调用单个端点)的唯一可靠方法是分析以下声明:总是带有不记名令牌(我们已经在 APIM 级别这样做了。)
有没有人需要这样做?提前致谢!
解决方案
APIM 策略表达式以及“选择”策略允许您创建任意处理逻辑:https ://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions 。
可以访问 JWT
context.Request.Headers.GetValueOrDefault("Authorization").AsJwt()
它返回 Jwt 对象(在上面的同一页面上查找它的属性)。
所有这些与“set-backend-service”策略相结合应该足以完成这项工作。
推荐阅读
- mysql - 如何提高蛋糕 php 中的插入速度?
- azure-active-directory - Azure AD B2C Graph Api - 获取/设置个人资料图片
- php - http_build_query (& => ¶ms) 的意外输出
- javascript - JavaScript - 无法更新嵌套 For 循环内的数组对象属性
- java - JavaFx 标签上的彩色表情符号
- android - 如何自定义移动广告横幅?
- python-3.x - Virtualenv - DeprecationWarning:不推荐使用 imp 模块以支持 importlib
- javascript - Node Express MySQL 和错误:发送后无法设置标头
- java - (Android / Java / SQLite) 为什么我的数据库是空的?
- python - 将单元格作为数字从 Excel 导入 Python3