2017-05-04 1 views
0

Ich versuche, alle Anfragen von Frontend zu Loopback mit einem Access-Token zu senden. Ich benutze Loopback SDK Builder für angular2.Loopback - Angular2 Hinzufügen von accessToken zu Anfragen

Nach Benutzeranmeldungen gibt Loopback ein Zugriffstoken zurück. Ich die Funktion oben verwenden, dass die Zugriffstoken anhängen Header Danach

LoopBackConfig.setAuthPrefix(this.user.accessToken); 

zu verlangen, alle Anfragen Header haben eine Eigenschaft wie folgt aus:

authorization: Wl3P7ysrfu1tq2gcljezdZRDHH... 

I "Loopback # Token" hinzugefügt haben: { } zu "initial: before": in middleware.json

Allerdings ist req.accessToken immer noch null. Mache ich etwas falsch?

Und ich habe noch eine Frage. Sollte der Zugangstoken in der Kopfzeile sein? In Loopbackdokumenten ist das Zugriffstoken in Abfrageparametern enthalten. Gibt es eine Möglichkeit, Zugriffstoken zu Services hinzuzufügen, die standardmäßig von Loopback SDK Builder erstellt wurden?

Antwort

1

Das Hinzufügen dieser Zeile löste das Problem, denke ich.

app.use(loopback.token()); 

Jetzt wird AccessToken.findForRequest für jede Anfrage aufgerufen. Und wenn es ein Zugriffs-Token in Kopfzeilen, in Cookies oder in der URL gibt, wird req.accessToken erstellt.

Im Frontend verwende ich LoopBackConfig.setAuthPrefix Funktion, um Zugriffstoken in den Header zu setzen. Für EventSource-Anfragen, (da es keine API hat, um den Header der Anfrage zu setzen), füge ich Zugriffs-Token zu URL hinzu.

https sollte verwendet werden, um Sicherheitslücken zu vermeiden, wenn Sie access_token mit diesen Methoden senden.

Verwandte Themen