如何在ng2-signalr中设置授权标头?

时间:2017-05-31 07:39:32

标签: angularjs typescript ionic2 signalr

我在离子2中使用库ng2-signalr。问题是我不知道如何设置授权标头。我有搜索,但没有找到任何例子。

我的连接服务器中心的代码。

   let options: IConnectionOptions = { qs:{userId:1}, url: "http://192.168.0.211:44337"};

        console.log("Stage 1");
            //Header for 'this.singalR.connect'
        this.signalR.connect(options)
            .then((connection) => {                      

                console.log("Client Id: " + connection.id);                     
             }, (err) => {
                console.log("SignalR Error: " + JSON.stringify(err));
            });

如何设置下方标题?

  var headers = new Headers({
            'Content-Type': "application/json",
            "Authorization": 'Bearer ' + accessToken  //accessToken contain bearer value.
        });

图书馆:ng2-signalr

更新1

链接Query String Solution。提及一种解决方法是在authorization token中传递qs并进行相应处理。但我想设置标题,所以这个解决方案不适合我。还有一个原因,因为我有另一个客户端(简单的angularjs信号器),当我设置标题时工作正常,如下所示。

 $.signalR.ajaxDefaults.headers = { Authorization: //here set header};  

注意:在实施授权之前,相同的代码工作正常,因为我不需要设置授权标题。

1 个答案:

答案 0 :(得分:1)

目前(v2.0.4)未在ng2-signalr中实现。
作为解决方法,您可以尝试:

declare var $: any;
$.signalR.ajaxDefaults.headers = new Headers({
        'Content-Type': "application/json",
        "Authorization": 'Bearer ' + accessToken  //accessToken contain bearer value.
});