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

如何在使用 Ocelot api 网关时将 JWT 令牌设置为 Stomp 标头

如何解决如何在使用 Ocelot api 网关时将 JWT 令牌设置为 Stomp 标头

我正在使用 Stomp 在前端和后端之间建立连接。我使用 alb ingress 来做代理,并使用 Ocelot 作为 API 网关来做身份验证。它适用于普通的 http 请求。我做了一些搜索,似乎不可能为 Stomp 设置标题。我想出的解决方法是将令牌作为 URL 的一部分传递。但是我不知道如何在 Ocelot 或 ingress 中获得它。我使用 @stomp/stompjs 这个包来进行跺脚。我的前端使用 React,后端使用 Java spring

stomp 客户端的配置

client.configure({
      brokerURL: 'wss://localhost:8080/stomp',connectHeaders:{
        'Authorization': `Bearer ${access_token}`,}
    });

豹猫部分

{
      "DownstreamPathTemplate": "/stomp","DownstreamScheme": "ws","DownstreamHostAndPorts": [
        {
          "Host": "backend","Port": 8080
        }
      ],"UpstreamPathTemplate": "/stomp","UpstreamHost": "localhost","Authenticationoptions": {
        "AuthenticationProviderKey": "ProjectAPI","AllowedScopes": [
          "project-api"
        ]
      },"AddHeadersToRequest": {
        "tenantId": "Claims[tenantId] > value > |"
      }
    }

最好的方法是什么?

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