2017-11-10 2 views
0

Guten Tag.Httponly Cookie als Bearer Token - Laravel Passport

Ich hatte gehofft, jemand könnte mir helfen. Entschuldige bitte, dass dies das erste Mal ist, dass ich OAuth benutze.

Ich habe begonnen, eine Anwendung mit React JS und Laravel 5.5 zu erstellen. Ich habe den Laravel Passport installiert und es erfolgreich geschafft, meinen Benutzer in meiner React JS App an- und abzumelden. Ich wurde jedoch gebeten, die Verwendung von httponly-Cookies aus Sicherheitsgründen zu überprüfen.

In meinem Arbeits Code, ich habe einfach das Zugriffstoken in localstorage gespeichert und an der api gesendet Authorization': 'Bearer ' + token in dem axios Header verwendet wird, und das funktioniert einwandfrei. Allerdings, wenn ich einen Cookie mit httponly gesetzt habe, kann ich nicht den Wert davon holen (was ich nehme, ist genau der Punkt!) - mit reactive-Cookie (von npm), wenn ich cookie.loadAll() auf der Konsole dann das einzige Cookie ich log sehen ist ein neuer XSRF-TOKEN Cookie, aber nicht der accessToken Cookie, den ich gesetzt habe. Wie gehe ich vor, um dieses Token an die API zu senden?

Vielen Dank im Voraus für Ihre Unterstützung :)

Antwort

0

Da Sie nicht den Httponly-Cookie von JS lesen können, wenn ein neues Token aus dem Backend bekommen, das Backend hat das Token im Antworttext zu senden.

0

Httponly Cookie als Bearer-Token macht nicht viel Sinn. Mit Cookies hilft httponly, Sie und den Benutzer vor XSS-Angriffen zu schützen, da sie von JavaScript nicht lesbar sind. Sie können z.B. zum Speichern von Sitzungsinformationen und werden gesendet, wenn der Benutzer z.B. eine Seite neu laden.

Setting Authorization header zu 'Bearer ' + token ist der richtige Weg, wie Token an die API gesendet werden. Bevor Sie den Token auf dem api-Server verwenden, sollten Sie immer überprüfen, ob das Token noch gültig ist.

Verwandte Themen