1

我在我的 AAD 中注册了一个 Azure Web 应用程序(使用 MSAL 的 Angular SPA)并设置为多租户访问。它访问 Azure Web API。在此配置中运行良好,用户可以使用自己组织的身份登录。

我们将 Web API 放入 Azure API 管理 (APIM) 并设置传入请求以进行 jwt 验证。

<openid-config url="https://login.microsoftonline.com/my-domain-name/.well-known/openid-configuration" />

这适用于我自己 AD 中的用户,但不适用于他们自己 AD 中的用户。所以我将配置切换到我们的应用注册中的端点的样子:

<openid-config url="https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration" />

现在没有任何效果,我得到了错误:

{"message":"JWT Validation Failed: IDX10205: Issuer validation failed. Issuer: 'https://sts.windows.net/users-tenant-id-here/'. Did not match: validationParameters.ValidIssuer: '' or validationParameters.ValidIssuers: 'https://login.microsoftonline.com/{tenantid}/v2.0'.."}}

我可以通过添加用户的租户 ID 来解决问题,但我不想在每次新客户注册时都这样做。

是否有有效发行人列表的通配符设置,或完全通过发行人验证的方法?或者客户端是否有一些设置可以解决问题?没有它,我看不到 APIM 如何用于多租户应用程序。

4

0 回答 0