微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

validate-jwt Azure策略表达式性能问题

如何解决validate-jwt Azure策略表达式性能问题

我们的所有Azure API中都包含以下代码段,这用于验证用户令牌。但是,我们观察到的是,每次执行API时(有时非常快),都在openid config url中调用url。不确定确切如何工作。

<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/72f988bf-86f1-41af-91ab-2d7cd011db47/.well-kNown/openid-configuration" />
  <required-claims>
    <claim name="aud">
      <value>{{clientId}}</value>
    </claim>
  </required-claims>
</validate-jwt>

以下是当我们在Azure门户中的Azure APIM测试功能中运行时的屏幕截图。有时需要200毫秒,有些时候是随机

enter image description here

从我们的日志中,我们观察到顺序耗时约250毫秒,并导致所有API出现性能问题。 enter image description here

一个简单的解决方法是在进入令牌验证时在我们的服务中实施如下所示的内容,但我们担心的是我们不想陷入单点故障并无法解决这种单独服务的问题。

JWT Validation: Caching JWKS derived from cached discovery document via Azure API Management

对于深入了解validate-jwt策略或更好的主意的任何指针,将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。