验证每个操作或所有操作的JWT策略

验证每个操作或所有操作的JWT策略,jwt,azure-api-management,Jwt,Azure Api Management,我目前在Azure APIM中有一个API设置,具有多个操作。 我已经在所有操作部分实施了JWT承载身份验证策略 我现在需要做的是根据令牌中返回的作用域实现每个操作的授权部分。我已经看了这个例子,明白了该怎么做 但是,尝试在根所有操作上实现策略,然后在该策略中检查所请求的操作,并编写代码以匹配操作的正确作用域,这是好还是坏的做法 或者应该为每个操作复制/粘贴JWT策略,并且只有操作授权逻辑存在于其中 提前感谢。这样您就可以在全局、产品、API和细粒度操作级别应用策略 然后对这些策略进行评估,以形

我目前在Azure APIM中有一个API设置,具有多个操作。 我已经在所有操作部分实施了JWT承载身份验证策略

我现在需要做的是根据令牌中返回的作用域实现每个操作的授权部分。我已经看了这个例子,明白了该怎么做

但是,尝试在根所有操作上实现策略,然后在该策略中检查所请求的操作,并编写代码以匹配操作的正确作用域,这是好还是坏的做法

或者应该为每个操作复制/粘贴JWT策略,并且只有操作授权逻辑存在于其中


提前感谢。

这样您就可以在全局、产品、API和细粒度操作级别应用策略

然后对这些策略进行评估,以形成一个针对您的请求的有效策略

我最后做的是在所有操作中应用
验证jwt
策略 水平。这意味着对于我的API中的任何操作,我的令牌都将经过身份验证

<policies>
<inbound>
    <base />
    <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Not authenticated, token invalid." output-token-variable-name="jwt">
        <openid-config url="redacted" />
        <audiences>
            <audience>redacted</audience>
        </audiences>
        <issuers>
            <issuer>redacted</issuer>
        </issuers>
    </validate-jwt>
</inbound>
<backend>
    <base />
</backend>
<outbound>
    <base />
</outbound>
<on-error>
    <base />
</on-error>

因此,您可以在全局、产品、API和粒度操作级别应用策略

然后对这些策略进行评估,以形成一个针对您的请求的有效策略

我最后做的是在所有操作中应用
验证jwt
策略 水平。这意味着对于我的API中的任何操作,我的令牌都将经过身份验证

<policies>
<inbound>
    <base />
    <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Not authenticated, token invalid." output-token-variable-name="jwt">
        <openid-config url="redacted" />
        <audiences>
            <audience>redacted</audience>
        </audiences>
        <issuers>
            <issuer>redacted</issuer>
        </issuers>
    </validate-jwt>
</inbound>
<backend>
    <base />
</backend>
<outbound>
    <base />
</outbound>
<on-error>
    <base />
</on-error>