Azure API 管理 - 用户元数据

Posted

技术标签:

【中文标题】Azure API 管理 - 用户元数据【英文标题】:Azure API Management - User Metadata 【发布时间】:2018-06-01 12:51:17 【问题描述】:

我正在使用 Azure API 管理为某些 API 提供 API 网关。为了为特定的 Api 设置策略,我使用了 Property(Named Value) 来恢复用户元数据,然后将其分配给传入请求正文中的变量。添加新用户时,我需要将新用户的元数据添加到 json 中。财产价值现在已经增长并超过了限制,我不能再添加更多信息了。我想知道恢复大型元数据以便在 API 管理策略中访问的最佳方法是什么?

更新1

我已将身份验证过程从 Azure 切换到 Auth0,因此我可以将用户元数据添加到 Auth0 app_metadata,然后在 Azure 策略中,我从 Auth0 验证 JWT 并获取this article 中解释的令牌声明(app_metadata)。通过这样做,我可以解决大型用户元数据(json)问题,但这并不能解决存储在其他属性(命名值)中的其他非相关用户元数据,而且 API 网关入站策略正在增长并成为一大堆逻辑不易管理和维护。

在这个阶段,我正在寻找一种解决方案,以更好的方式和更易于管理的环境(即 C#)处理所有 API 网关入站策略。所以我的两分钱是在新的 .net Api 中实现 API 网关入站策略并在现有 API 网关入站策略中调用这个新 API,以便它可以在 Azure API 网关和现有 API 之间发挥桥梁作用但是我仍然不确定这是否可行,是否可以直接通过新 API 调用现有 API,或者是否应该通过 Azure API 网关以某种方式调用它!

【问题讨论】:

【参考方案1】:

此时您必须将其存储在多个变量中或直接将其硬编码到策略中。

【讨论】:

这是一个我也已经考虑过的解决方法,它只适用于非常紧急的情况,作为一种快速糟糕的解决方案。【参考方案2】:

经过更多研究,我最终得到了this solution,它基本上建议在 Azure Cosmos DB 中恢复用户元数据并在 API 管理策略中调用 Cosmos API 以访问元数据,并且 Cosmos API 调用可以缓存在策略中。

【讨论】:

以上是关于Azure API 管理 - 用户元数据的主要内容,如果未能解决你的问题,请参考以下文章

azure databricks使用external hive metastore跨工作区共享元数据

论元数据和API管理工具

如何从 Azure 文件共享中获取文件元数据?

使用 Azure 存储容器元数据作为搜索筛选器

如何更新 Azure.Storage.Blob 中的元数据

如何从 Azure 应用服务访问外部元数据库配置文件