如何在websocket javascript客户端中传递授权承载访问令牌
Posted
技术标签:
【中文标题】如何在websocket javascript客户端中传递授权承载访问令牌【英文标题】:how to pass Authorization Bearer access token in websocket javascript client 【发布时间】:2018-05-17 10:50:13 【问题描述】:我的 API 管理器工具要求我应该通过 websocket 调用传递授权承载访问令牌。 他们提供了执行此操作的 java 代码示例。
不记名令牌设置为(“授权”,“不记名 e2238f3a-e43c-3f54-a05a-dd2e4bd4631f”)。我如何在 javascript 中做到这一点?
// HttpResponseDecoder to WebSocketHttpResponseDecoder in the pipeline.
final WebSocketClientHandler handler = new WebSocketClientHandler(
WebSocketClientHandshakerFactory
.newHandshaker(uri, WebSocketVersion.V13, null,
false, new DefaultHttpHeaders()
.add("Authorization", "Bearer e2238f3a-e43c-3f54-a05a-dd2e4bd4631f")));
这就是他们在java中的做法 有没有这样的方法可以从我的 java 脚本 [Angular2] Web 应用程序中做到这一点?我怎样才能从 UI 传递这个? 任何基于 Websocket 的测试工具都可以模拟这个吗?
【问题讨论】:
Is it possible to use bearer authentication for websocket upgrade requests?的可能重复 【参考方案1】:我在这里找到了这个答案: https://***.com/a/26123316/1715121
"由于 Javascript WebSocket API 的设计,目前无法使用 Authentication 标头。 更多信息可以在这个线程中找到: HTTP headers in Websockets client API
但是,Bearer 身份验证类型允许一个名为“access_token”的请求参数:http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#query-param 此方法兼容 websocket 连接。”
【讨论】:
以上是关于如何在websocket javascript客户端中传递授权承载访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python(带有 websockets 的服务器)和 JavaScript(客户端)接收 JSON 数据
JavaScript 客户端无法连接到 Spring 4 WebSocket
使用 websocket javascript 客户端发送文件