如何在通过 javascript 调用 GCP 上托管的私有 Websocket 时将授权承载令牌作为标头传递

问题描述 投票:0回答:1
我正在尝试通过 JavaScript 客户端代码访问私有 WebSocket 服务器。此 WebSocket 作为私有云运行服务托管在 GCP 上。您能否通过将“授权”令牌作为标头的一部分传递来帮助我访问此 WebSocket?

我目前正在使用这种方法调用 WebSocket

const socket = new WebSocket('wss://web-adaptor-service-lz7ymxgtha-ue.a.run.app');
我只需要随此 url 传递授权不记名令牌。请帮我解决这个问题。

注意:我可以通过使用邮递员传递所需的标头来访问相同的 websocket。我附上该片段供您参考。请检查一下。 我只是想使用 javascript 客户端代码实现相同的目的

提前致谢!

我尝试通过以下方式传递标头,从 javascript 客户端代码连接 websocket 服务器,但最终都失败了。在进行此连接过程中,我每次都会收到 403 错误。

const websocketUrl = 'wss://web-adaptor-service-lz7ymxgtha-ue.a.run.app'; const gcp_auth_token = 'eyJhbGciOiJSU**************************'; 1.1 socket = new WebSocket(websocketUrl + '?Authorization=Bearer ' + gcp_auth_token); 1.2 socket = new WebSocket(websocketUrl + '?Origin=' + gcp_auth_token); 1.3 socket = new webSocket(websocketUrl, null, { headers: { ['Authorization']: 'Bearer ' + gcp_auth_token } }); 1.4 socket = new WebSocket(websocketUrl + '?access_token=' + gcp_auth_token); 1.5 socket = new WebSocket("wss://<gcp_auth_token>@<websocketUrl>"); 1.6 socket = new WebSocket(websocketUrl , ["access_token", `${gcp_auth_token}']); 1.7 socket = new WebSocket(websocketUrl , [ "base64url.bearer.authorization.k8s.io.<base64encodedtoken>", "base64.binary.k8s.io" ]); //this format is give in this link => https://github.com/kubernetes/kubernetes/pull/47740 which is also failing
    
javascript websocket header private bearer-token
1个回答
0
投票
嗨,你能告诉我你如何在邮递员中测试这个吗?你在邮递员中添加令牌的位置

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