Ich habe Angular + Spring App und ich versuche, Dienste mit JWT-Tokens zu authentifizieren.JWT-Token-Authentifizierung für direkte URL-Treffer im Browser
In JWT-Authentifizierung Ich speichere Token in localStorage und Anhängen Token in der Autorisierung HTTP-Header einer jeden Anfrage. Dies kann durch Schreiben eines Interzeptors in AngularJs erfolgen. Ich habe this Tutorial gefolgt.
Jetzt ist meine Frage:
Wie kann ich Anfragen direkt durch das Treffen der URL im Browser authentifizieren?
Wenn Sie die Url zu diesem Zeitpunkt keine Seite geladen und kein Skript URL von LocalStorage mit Authentifizierung Header zu binden. Daher wird der Server die Anfrage letztendlich ablehnen und 401 senden, auch wenn der Benutzer zuvor authentifiziert wurde.
wenn der Kopf Wenn Cookies direkt auf eine URL übertragen werden, bieten nur Cookies eine rein automatisierte Möglichkeit zur Ankündigung, dass Ihr Client authentifiziert ist. Könnte Ihr Server eine benutzerdefinierte Antwort 401/Unauthorized bereitstellen, die mit der versuchten URL injiziert wurde, die den JWT aus localStorage zieht und die Anfrage stellt? Es ist nicht der effizienteste Ansatz. – amoebob
Ich glaube, ich kann der Anfrage, die ich im Browser getroffen habe, keinen Header hinzufügen. – pratik
Auch wenn es mir gelingt, die versuchte URL mit 401 Antwort zu injizieren und holen Sie die JWT heraus, aber danach .. wie Kopfzeile zu neuen Seite Anfrage hinzufügen (nicht Ajax Anfrage)? Ich denke, es ist nicht möglich nach [dieser] (http://stackoverflow.com/questions/24130004/adding-http-headers-to-window-location-href-in-angular-app?answertab=active#tab-top) Konversation. – pratik