我的API管理器工具要求我应该通过websocket调用传递Authorization Bearer访问 token 。
他们提供了Java代码示例。
承载 token 设置为(“授权”,“承载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的测试工具都能效仿吗?
最佳答案
我在这里找到了这个答案: https://stackoverflow.com/a/26123316/1715121
“由于Javascript WebSocket API的设计,目前无法使用Authentication header 。
在此线程中可以找到更多信息:
HTTP headers in Websockets client API
但是,承载认证类型允许使用名为“access_token”的请求参数:http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#query-param
此方法与websocket连接兼容。”