azure-api-management 相关问题

Azure API Management是一种云托管服务,可以在任何平台上为现有HTTP API添加许多功能。这包括与安全性,API密钥管理,缓存,文档和许多其他交叉策略相关的功能。有关详细信息,请参阅:http://azure.microsoft.com/apim

API管理政策-基于代理标签的后台

我需要实施一项策略,根据 URL(机构代码)中的内容将请求转发到正确的后端 例如, 网址 http://tst.my.api.identity.xxx.com/int/my/v1/#AGENCYCODE#/sy...

回答 1 投票 0

APIM 处于消耗模式 - 通过 /status-0123456789abcdef 获取 Azure APIM 运行状况检查返回“找不到资源”

我们在消费模式下创建了一个新的 API-M,无法通过 /status-0123456789abcdef 进行运行状况检查。有人成功地让它发挥作用吗? https://bla-bla.azure-api.net*/status-

回答 4 投票 0

专用虚拟网络中 API 管理服务的逻辑应用程序中的名称解析失败

尝试将一组逻辑应用程序移动到天蓝色的私有虚拟网络中,并使用单个 API 管理器来管理对外部平台的所有调用。一切都设置完毕,我现在可以打电话给...

回答 1 投票 0

为什么当我尝试使用查询 ID 调用 api 时会收到错误 404?

我正在使用此 api 调用来检索平面工作项列表: 发布 https://dev.azure.com/{organization}/{project}/{team}/_apis/wit/wiql?api-version=7.1-preview.2 我能够拿到清单,所以现在...

回答 1 投票 0

标准 V2 或基本 V2 上的 API 管理策略工件存在问题

我在 API 管理中为 api 制作了一个策略工件,但遇到了问题。 错误消息详细信息 我多次尝试找出问题所在,但都找不到。当我从 Standard 更改时,我察觉到了一种行为...

回答 1 投票 0

重写Azure API管理服务中所有API操作的URL

我有一个 Web api,其路径为: /api/v1/操作1 /api/v1/操作2 /api/v1/操作3 在我的Azure API管理服务中,我想要前面...

回答 1 投票 0

无法获取 Azure 成本消耗 api 的 Azure 范围

我需要为 php 项目使用 azure 消费 api。但我完全搞乱了范围。 我遵循的步骤: 注册一个应用程序并获取应用程序 ID。 创建了客户端机密 目前...

回答 2 投票 0

使用 Azure Api 管理为 Azure Function Apps 插槽设置自定义域

我有很多azure功能应用程序,我想配置为使用自定义域的子域,但是我随后想将插槽配置为不同的子域,例如api.mydomain.co...

回答 1 投票 0

使用 Curity 时添加 validate-jwt 策略在保存时失败

我们使用 Curity 作为身份管理平台,并使用 validate-jwt 策略解析 Azure API 管理中的 JWT 令牌。但突然间,当我们试图保存 po 中的更改时...

回答 1 投票 0

ASP.NET Web API 密钥身份验证|天蓝色

我几乎已经使用 ASP.NET 完成了我的 Web API 项目,我想在 Azure 上发布此 API。对用户端点使用 API 密钥身份验证的最佳方法是什么? 例如:htt...

回答 1 投票 0

如何(从客户端)识别哪个 Azure API 管理后端主机提供了响应?

场景是这样的: |-> 后端#1(功能应用程序) APIM-> |-> 后端#3(函数应用程序) |-> 后端#n(功能应用程序) 我目前正在构建一个部署管道...

回答 1 投票 0

Azure APIM 和函数应用 Oauth2.0 Azure AD 身份验证

微服务写在Function App中,APIM作为代理网关。授权和认证是通过Oauth2.0和azure AD。 代币传播在哪里停止/结束? APIM不是吗? 我...

回答 1 投票 0

无法在 APIM 上验证 Nodejs Api 的访问令牌

我有一个配置了登录流程的 B2C 租户。我正在尝试验证从 Azure API 管理 (APIM) 内的 msal-Angular 接收的访问令牌,以便调用 Node.js API。然而,...

回答 1 投票 0

重写 Azure APIM 策略的 URL

我想允许公共表单URL在没有v2(版本标识符)的情况下发送,然后将其添加回后端,v2始终位于所有端点的操作和参数之前,我如何使用t...

回答 1 投票 0

在 Azure APIM 策略中验证 JWT

在 Azure APIM 中,我正在尝试创建一个验证 JWT 的策略。无论我尝试什么,我总是收到“401:无效的 JWT”错误。有谁知道我做错了什么? (也许我...

回答 3 投票 0

API 管理 - 使设置查询参数以不区分大小写的方式工作

我们在 API Manager 中配置了一个 API,其中包含一些产品和策略。其中一项策略尝试确保某些查询参数始终设置为特定值。 我们在 API Manager 中配置了一个 API,其中包含一些产品和策略。其中一项策略试图确保某些查询参数始终设置为特定值。 <set-query-parameter name="myParameter" exists-action="override"> <value>myFixedValue</value> </set-query-parameter> 这工作得很好,直到有人添加具有不同大小写的相同参数,例如。 MyParameter 或 mYpAraMeTeR,在这种情况下,设置查询参数策略将被忽略,因为它区分大小写。 有没有办法确保以不区分大小写的方式正确应用此策略? 经过一番搜索,我找到了政策validate-parameters,我希望它能有所帮助,但到目前为止我还没有找到神奇的属性组合。 <validate-parameters specified-parameter-action="ignore" unspecified-parameter-action="prevent" errors-variable-name="validationErrors"> <headers specified-parameter-action="ignore" unspecified-parameter-action="ignore"/> <query specified-parameter-action="ignore" unspecified-parameter-action="prevent"> <parameter name="myParameter" action="ignore" /> </query> <path specified-parameter-action="ignore"/> </validate-parameters> 我希望这只会传递提供的所有标头和路径,但将允许的查询参数限制为仅myParameter 希望有更多 APIM 知识的人可以帮助我:) 看起来validate-parameters也区分大小写。 正确的政策定义是- <policies> <inbound> <base /> <validate-parameters specified-parameter-action="ignore" unspecified-parameter-action="prevent" errors-variable-name="requestParametersValidation"> <headers specified-parameter-action="ignore" unspecified-parameter-action="ignore" /> <query specified-parameter-action="ignore" unspecified-parameter-action="prevent"> <parameter name="myParameter" action="ignore" /> </query> </validate-parameters> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> 但是,如果您传递 myParameter 参数以外的任何其他值,则会出现错误。它不适用于 myParameter 的大小写值。 因此,或者我使用以下策略,该策略仅适用于 myParameter,但不适用于 myParameter 参数的任何其他组合。 <policies> <inbound> <base /> <choose> <when condition="@(context.Request.Url.Query.TryGetValue("myParameter", out var value) && value.Any(v => string.Equals(v, "myFixedValue", StringComparison.OrdinalIgnoreCase)))" /> <otherwise> <return-response> <set-status code="400" reason="Bad Request" /> <set-header name="Content-Type" exists-action="override"> <value>text/plain</value> </set-header> <set-body>@("Only the 'myParameter' query parameter is allowed.")</set-body> </return-response> </otherwise> </choose> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> 输出- 追踪-

回答 1 投票 0

如何在 Azure APIM 策略中使用 System.Net.IPAddress 解析 IP 地址

我正在尝试使用 Azure APIM 中的 System.Net.IPAddress 类通过策略解析 IP 地址。 政策: 我正在尝试使用 Azure APIM 中的 System.Net.IPAddress 类通过策略解析 IP 地址。 政策: <set-variable name="rawIpWhiteList" value="@{ List<string> rawIpWhiteList = new List<string>(){ "42.45.156.15", "177.136.25.113", "92.61.77.167", "80.254.169.123", }; return new JArray(rawIpWhiteList); }" /> <set-variable name="validSingleIPs" value="@{ List<string> rawIpWhiteList = ((JArray)context.Variables["rawIpWhiteList"]).ToObject<List<string>>(); List<string> validIpWhiteList = rawIpWhiteList.Where(ipString => IPAddress.TryParse(ipString, out IPAddress _)).ToList(); return new JArray(validIpWhiteList); }" /> 但是,我收到以下错误: Error: One or more fields contain incorrect values: Error: "ValidationError" - "Error in element 'set-variable' on line 26, column 4: The name 'IPAddress' does not exist in the current context" Error: Error: "ValidationError" - "Error in element 'set-variable' on line 26, column 4: The name 'IPAddress' does not exist in the current context" 但根据策略表达式docs,策略表达式中应允许使用 System.Net.IPAddress 类型并具有以下受支持的成员:AddressFamily、Equals、GetAddressBytes、IsLoopback、Parse、TryParse、ToString。 我错过了什么? 我已将您的政策修改如下。请使用它,你也会得到结果。 <policies> <inbound> <base /> <set-variable name="rawIpWhiteList" value="@{ List<string> rawIpWhiteList = new List<string>(){ "**.**.**.***", "**.**.**.***", }; return new JArray(rawIpWhiteList); }" /> <set-variable name="validSingleIPs" value="@{ List<string> rawIpWhiteList = ((JArray)context.Variables["rawIpWhiteList"]).ToObject<List<string>>(); List<string> validIpWhiteList = rawIpWhiteList.Where(ipString => System.Net.IPAddress.TryParse(ipString, out System.Net.IPAddress _)).ToList(); return new JArray(validIpWhiteList); }" /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies> 输出-

回答 1 投票 0

Azure API 管理通配符操作返回 404

我在 APIM 中创建了 Teamtailor API 的通配符操作 https://api.teamtailor.com/v1 当我发出请求时,它会调用正确的后端端点 https://api.teamtailor.com/v1/jobs,但它...

回答 1 投票 0

Azure API 管理创建/更新策略

我们正在将发布管道从 Azure 内置发布迁移到基于 YAML 代码的管道。在我们开始研究 API 管理之前,一切进展顺利。我们已经成功导入 OpenAPI 端...

回答 1 投票 0

未经授权。访问令牌丢失或无效。 【API管理中的Oauth 2.0授权服务器】

我已在 API 管理中配置了版本 v1 的 Oauth 2.0 授权服务器,并且还配置了 API 以使用 OAuth 2.0 用户授权。 选择

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.