gpt4 book ai didi

websocket - Websocket 的 OAuth2 身份验证 : Pass Bearer Token via Subprotocols?

转载 作者:行者123 更新时间:2023-12-04 15:55:19 25 4
gpt4 key购买 nike

我试图弄清楚将 oauth 持有者 token 传递给 websocket 端点的最佳方法是什么。
This SO answer suggests to send the token in the URL ,
但是,这种方法具有通过 URL 进行身份验证的所有缺点。讨论了安全隐患here
因此我想知道使用子协议(protocol)将 token 传递给服务器会有什么缺点?即,而不是将请求的子协议(protocol)视为常量列表。发送至少一个遵循以下语法的子协议(protocol),例如:authorization-bearer-<token> token 最终会出现在请求 header 中。
服务器在处理子协议(protocol)时将能够通过一些自定义代码轻松找到并处理 token 。
由于许多 websocket 实现应该支持传递子协议(protocol),这应该适用于很多客户端。

最佳答案

这对我有用,我用过这个 WebSocket client library .

您需要通过 Websocket Header 发送 OAUTH token ,下面是代码,希望对您有所帮助。

ws = factory.createSocket("wss://yourcompleteendpointURL/");
ws.addHeader("Authorization", "Bearer <yourOAUTHtoken>");
ws.addHeader("Upgrade", "websocket");
ws.addHeader("Connection", "Upgrade");
ws.addHeader("Host", "<YourhostURLasabovegiveupto.com>");
ws.addHeader("Sec-WebSocket-Key", "<Somerandomkey>");
ws.addHeader("Sec-WebSocket-Version", "13");
ws.connect();

关于websocket - Websocket 的 OAuth2 身份验证 : Pass Bearer Token via Subprotocols?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36323743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com