2017-05-31 18 views
5

मैं आयनिक 2. अंक में पुस्तकालय ng2-signalr उपयोग कर रहा हूँ मुझे नहीं पता कि प्राधिकरण हैडर सेट करने का तरीका है। मेरे पास खोज है लेकिन मुझे कोई उदाहरण नहीं मिला।एनजी 2-सिग्नलर में प्राधिकरण शीर्षलेख कैसे सेट करें?

सर्वर हब को जोड़ने के लिए मेरे कोड।

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 पास करने के लिए एक वर्कअराउंड का उल्लेख किया गया है और तदनुसार संभाल लें। लेकिन मैं हेडर में सेट करना चाहता हूं इसलिए यह समाधान मेरे अनुरूप नहीं है। एक और कारण है क्योंकि मेरे पास एक और क्लाइंट (सरल कोणीय सिग्नलर) है जो ठीक काम कर रहा है जब मैं नीचे जैसा ही हैडर सेट करता हूं।

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

नोट: ठीक काम कर रहा जैसा कि मैंने प्राधिकरण हैडर निर्धारित करने की आवश्यकता नहीं है प्राधिकरण एक ही कोड लागू करने से पहले।

+0

किया आप qs में टोकन सेट करके देखें? –

+0

@ सूरज अभी तक नहीं .oky मैं कोशिश कर रहा हूं लेकिन क्वेरी स्ट्रिंग 'qs' में हेडर मान सेट करने का कोई अर्थ नहीं है। –

+0

https://stackoverflow.com/questions/21196266/signalr-authentication-with-javascript-client –

उत्तर

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. 
}); 
संबंधित मुद्दे