gpt4 book ai didi

azure - 从 validate-jwt 迁移到 validate-azure-ad-token 策略

转载 作者:行者123 更新时间:2023-12-02 06:16:33 27 4
gpt4 key购买 nike

我之前已经在很多项目中成功使用了 validate-jwt 策略。我想尝试一下新的 validate-azure-ad-token 政策。

我更改了其中一项政策:

<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/{{tenant-id}}/v2.0/.well-known/openid-configuration" />
<required-claims>
<claim name="azp" match="all">
<value>{{portal-clientId}}</value>
</claim>
</required-claims>
</validate-jwt>

致:

<validate-azure-ad-token header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid." tenant-id="{{tenant-id}}">
<client-application-ids>
<application-id>{{portal-clientId}}</application-id>
</client-application-ids>
</validate-azure-ad-token>

前者可以正常工作,但我无法让后者工作。上述两个策略片段中的命名值 portal-clientId 分别对应于应用注册和企业应用的 applicationId。

从前者可以看出,该值位于 azp 声明中。从 jwt.ms 看来,这也应该是新政策的正确声明:

The application ID of the client using the token. The application can act as itself or on behalf of a user. The application ID typically represents an application object, but it can also represent a service principal object in Azure AD.

我已阅读 Azure documentationarticle介绍新功能,但我就是不知道我做错了什么。在追踪时,新政策有以下规定:

validate-azure-ad-token (3.470 ms)
{
"message": "Azure AD JWT Validation Failed: ValidationFailed."
}

新政策是否有一些隐性预期?我的 token 颁发者是 https://login.microsoftonline.com/{{tenant-id}}/v2.0

即使在激活详细日志记录时,在连接到此 API 的应用程序洞察中查看日志也不会产生比跟踪更有用的信息。

任何帮助将不胜感激。

最佳答案

(来源:我在 Azure API 管理团队工作,负责 APIM 策略实现)。

简短版本:恢复使用 validate-jwt(暂时)。

这里有两个问题。

  1. 您的两个陈述并不等同。客户端应用程序 ID 在 JWT 中作为受众公开。您对 validate-azure-ad-token 版本的判断是正确的,对 validate-jwt 版本的判断是错误的。
  2. 当前存在一个错误(我们正在处理并将“很快”修复),即我们用于 Azure Active Directory 的底层库未验证 v2.0 token 。

关于azure - 从 validate-jwt 迁移到 validate-azure-ad-token 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74740445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com