通过http标头SignalR传递令牌 [英] Passing token through http Headers SignalR
本文介绍了通过http标头SignalR传递令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以看到HubConnection中有一个选项可以通过来自客户端的url请求传递参数。是否有办法从JS或.NET客户端通过http标头传递特定令牌?
推荐答案
没有使用JS或.NET客户端为SignalR请求设置HTTP头的简单方法,但您可以向将作为每个SignalR请求的一部分发送的查询字符串添加参数:
JS客户端
$.connection.hub.qs = { "token" : tokenValue };
$.connection.hub.start().done(function() { /* ... */ });
.NET客户端
var connection = new HubConnection("http://foo/",
new Dictionary<string, string>
{
{ "token", tokenValue }
});
在集线器内,您可以通过上下文访问社区名称:
Context.QueryString["token"]
您也可以在建立持久连接时添加到查询字符串。
编辑:正如一些评论者指出的那样,现在可以在.NET SignalR客户端上设置标头。
在.NET客户端上设置标头
var connection = new HubConnection("http://foo/");
connection.Headers.Add("token", tokenValue);
这篇关于通过http标头SignalR传递令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文