Azure APIM 不验证 JWT 过期时间

问题描述 投票:0回答:1

我已向 APIM 添加了“validate-jwt”策略,以验证颁发者签名密钥以及所提供 JWT 的过期情况。它成功验证了颁发者签名密钥并拒绝任何未由正确证书签名的 JWT,但它似乎根本没有验证过期日期/时间。我可以传递一个几小时前就过期的 JWT,它可以很好地通过。

我已将“需要过期时间”设置为 true,我没有看到任何其他看起来相关的设置。 Azure APIM 是否能够验证过期时间,或者我对它的要求是否过高?我需要设置其他设置才能让它执行此操作吗?

azure jwt azure-api-management apim
1个回答
0
投票

Azure APIM 是否能够验证过期时间,还是我对它的要求太多了?

是的,APIM 检查

validate-jwt
策略中的过期时间。我已将令牌到期时间设置为 1 小时并收到错误。 感谢@silent的评论。我正在使用以下政策-

<policies>
    <inbound>
        <base />
        <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized" require-expiration-time="true" require-scheme="Bearer" require-signed-tokens="true">
            <openid-config url="https://login.microsoftonline.com/{tenant_id}/v2.0/.well-known/openid-configuration" />
            <issuer-signing-keys>
                <key>Base64 Encoded Key</key>
            </issuer-signing-keys>
            <audiences>
                <audience>********</audience>
            </audiences>
            <issuers>
                <issuer>********</issuer>
            </issuers>
            <required-claims>
                <claim name="" match="all">
                    <value>*******</value>
                </claim>
            </required-claims>
        </validate-jwt>
    </inbound>
</policies>

我的令牌过期后出现以下错误。

enter image description here

enter image description here

请检查令牌有效期和您正在使用的政策。

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