【问题标题】:How to create credintals of SignalR client如何创建 SignalR 客户端的凭据
【发布时间】:2020-08-22 23:05:52
【问题描述】:

我尝试通过与 SignalR 客户端不同的方式创建凭据或声明,例如这种方式

connection = new HubConnectionBuilder().WithUrl(URL, opt => opt.Headers.Add("Bearer", myJWT)).
        WithAutomaticReconnect(new[] { TimeSpan.FromSeconds(10) }).
        Build();

但在我的服务器集线器中,我在此回调中看不到集线器中的任何内容

public override Task OnConnectedAsync()

连接正常建立,我看到了,但在“Connect”对象和“hubContext”对象中不再看到(用户、标题、身份)它是空的。 我的 SignalR 服务没有特殊的安全配置,我只配置了 SignalR 端点,但我希望在我的服务器集线器中至少看到客户端标头,但没有。

【问题讨论】:

    标签: asp.net-core signalr


    【解决方案1】:

    您可以使用此属性在OnConnectedAsync 方法中获取:

    Context.GetHttpContext().Request
    

    请注意,您希望像这样进行授权标头:

    opt.Headers.Add("Authorization", myJWT)
    

    然后像这样抓住它:

    var token = Context.GetHttpContext().Request.Headers["Authorization"];
    

    【讨论】:

      猜你喜欢
      • 2019-12-04
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多