2017-11-24 4 views
0

Ich habe einen Nodejs Server A mit dem Express-Framework erstellt. Ich habe das Modul request-promise verwendet, um HTTP-Anfragen an einen anderen Server B zu stellen. Der Browser ruft den Server A mit den Cookie-Daten auf. Dieses Cookie enthält die jwt Token, das ich weiterbessere Möglichkeit zum Abfangen von Anfragen, die nodejs weiter machen

auf Server B übergeben wollen
@Get("/users") 
getUsers(@Cookie('token') token: any): any { 
    let usersPromise = Users.getUsers(jwt); 
    return Promise.all([usersPromise]) 
     .then(response => { 
      return response.users; 

     }); 
} 

Ich habe erstellt eine Users Klasse, die weitere Server-B die Anfrage-Promise-Modul aufrufen. Eine Möglichkeit ist es, die jwt Token passieren direkt an alle Anrufe wie diese, wie ich in

tat
let usersPromise = Users.getUsers(jwt); 

gibt es eine andere Art und Weise einige abfangen Möglichkeit, dies zu tun?

Antwort

0

Ich habe superagent Paket, um alle meine Anfrage abzufangen und die JWT an Header angehängt.

Um dies zu konfigurieren

installieren superagent und superagent-use Module

npm install superagent superagent-use --save 

Erfordern die Module

var request = require('superagent-use')(require('superagent')); 

dann die Superagent Middleware definieren

// interceptor used by superagent to add jwt in header for each request 
request.use((req) => { 
    req.header.jwt = jwt; 
    return req; 
}); 

und dann Anrufe

request 
    .get(url) 
    .query({ view: 'jsonView' }); 

Superagent ist nützlicher zu machen, als die request-promise wie dieses Modul bieten dem Versprechen und rxjs Basis apis, URL-Präfix und eine elegante Weise Abfragezeichen anhängen.

Verwandte Themen