【发布时间】:2020-12-21 07:28:13
【问题描述】:
我工作的公司多年来收购了多种产品。
我们一直在开发一个共享的微服务生态系统。
产品(当前)向不同的 IDP(例如 Auth0、Azure B2C)进行身份验证。
后端微服务可以很好地处理多个颁发者,但我们还希望在 API 网关 - Azure APIM 上进行身份验证检查,如果 JWT 访问令牌无效,则进行短路。
如何在 Azure APIM 中验证多个颁发者?
在docs 中,我可以看到我可以指定多个颁发者,但只有 1 个 openid-config。如果只有 1 个 openid-config,它将如何获得多个发行者的公共签名密钥?大概它是为了获取 JWKS 端点,然后是验证令牌签名的信息......
这是我正在谈论的 APIM(入站)政策的一部分:
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized" require-expiration-time="true" require-signed-tokens="true">
<openid-config url="https://example-company.au.auth0.com/.well-known/openid-configuration" />
<audiences>
<audience>test</audience>
<audience>blah</audience>
</audiences>
<issuers>
<issuer>https://example-company.au.auth0.com</issuer>
<issuer>http://contoso.com/</issuer>
</issuers>
</validate-jwt>
【问题讨论】:
标签: azure azure-api-management