通过http标头SignalR传递令牌 [英] Passing token through http Headers SignalR

查看:20
本文介绍了通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆