加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从信号器js客户端到集线器功能传递连接令牌是安全的

发布时间:2020-12-16 03:38:18 所属栏目:asp.Net 来源:网络整理
导读:我读了这篇文章 http://www.asp.net/signalr/overview/security/introduction-to-security#connectiontoken JS客户端 $.connection.hub.qs = { "token" : tokenValue };$.connection.hub.start().done(function() { /* ... */ }); .NET客户端 var connection
我读了这篇文章 http://www.asp.net/signalr/overview/security/introduction-to-security#connectiontoken

JS客户端

$.connection.hub.qs = { "token" : tokenValue };
$.connection.hub.start().done(function() { /* ... */ });

.NET客户端

var connection = new HubConnection("http://foo/",new Dictionary<string,string>
                                   {
                                       { "token",tokenValue }
                                   });

在Hub中,您可以通过Context访问社区名称:

Context.QueryString["token"]

在.NET客户端上设置标头

var connection = new HubConnection("http://foo/");
connection.Headers.Add("token",tokenValue);

我注意到我们可以将一些令牌值从客户端传递给hub函数作为查询字符串…..如果我传递任何东西,因为查询字符串不安全.所以告诉我以安全的方式从客户端到集线器功能传递令牌值的最佳方法,因此没有人可以破解/更改或重用该令牌值.

一个人说SignalR使用加密和数字签名来保护连接令牌.
所以请告诉我,信号器首先加密令牌值然后从客户端传递到集线器是真的吗?

建议我如何以安全的方式将令牌值传递给集线器.谢谢

解决方法

您可以在javascript客户端中使用标头,例如:

$.signalR.ajaxDefaults.headers = { Authorization: "Bearer " + yourToken };

现在不是hacky,是一个全球设置,你可以在启动或成功的auth响应一次!请享用!

现在,只有我能找到一种方法来基于每个请求覆盖它,这样我才能得到一个用户模拟沙箱,为我的用户提供管理角色…

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读