api 的 Azure Apim 身份验证
Azure Apim authentication for apis
我有一个 api 端点被多个 public 客户端使用。并且每个客户端都配置了不同的clientids。我正在使用带有 Oauth2 openid 协议的授权代码流。我想介绍一个 Azure Apim 服务,并想在将请求转发到 apis 之前验证 jwt 令牌。你能告诉我如何实现吗?
注意:我不能使用单个客户端 ID,因为每个客户端的重定向 uri 都不同。
您可以使用 Validate JWT 策略通过验证每个传入请求的访问令牌来预授权 API 管理中的请求。如果请求没有有效令牌,API 管理会阻止它。例如,将以下策略添加到 Echo API 的 <inbound>
策略部分。它会检查访问令牌中的观众声明,如果令牌无效,returns 会显示一条错误消息。
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration" />
<required-claims>
<claim name="aud">
<value>{Application ID of backend-app}</value>
</claim>
</required-claims>
</validate-jwt>
详情请参考Configure a JWT validation policy to pre-authorize requests
的文章
我有一个 api 端点被多个 public 客户端使用。并且每个客户端都配置了不同的clientids。我正在使用带有 Oauth2 openid 协议的授权代码流。我想介绍一个 Azure Apim 服务,并想在将请求转发到 apis 之前验证 jwt 令牌。你能告诉我如何实现吗?
注意:我不能使用单个客户端 ID,因为每个客户端的重定向 uri 都不同。
您可以使用 Validate JWT 策略通过验证每个传入请求的访问令牌来预授权 API 管理中的请求。如果请求没有有效令牌,API 管理会阻止它。例如,将以下策略添加到 Echo API 的 <inbound>
策略部分。它会检查访问令牌中的观众声明,如果令牌无效,returns 会显示一条错误消息。
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://login.microsoftonline.com/{aad-tenant}/.well-known/openid-configuration" />
<required-claims>
<claim name="aud">
<value>{Application ID of backend-app}</value>
</claim>
</required-claims>
</validate-jwt>
详情请参考Configure a JWT validation policy to pre-authorize requests
的文章