Ich habe zwei Hauptprojekte in meiner Webanwendung:
Das Webprojekt funktioniert wie erwartet (Authentifizierung und Autorisierung funktionieren)
Methode: Speichere das Token in den lokalen Speicher und sende es mithilfe von Interzeptoren für jede Anfrage.
Nun möchte ich dem WebApi-Projekt eine Authentifizierung und Autorisierung hinzufügen, die anderen Modulen wie Hangfire, Elmah und Hilfeseiten dienen würde. Ich habe dieselbe Login-Logik hinzugefügt, die funktioniert (Autorisierung) und dann auf die Dashboard-Seite umgeleitet wird (mit Angularjs), die funktioniert.
Aber auf eine andere Seite (eines der erwähnten Module) zu gehen, funktioniert nicht. Wenn das nicht funktioniert: Der Benutzer aus dem Owin-Kontext ist immer null / leer (siehe Code)
Zu meinem Verständnis muss ich irgendwie das Token mit jeder Anfrage senden, was hier nicht passiert.
Fragen:
Wie kann ich das erreichen (Senden / Abrufen des Tokens)?
Wenn Cookie der einzige / bessere Ansatz ist
Wie kann ich Cookie für Projekt 1 und Token für Projekt 2 integrieren? (Ich habe versucht, Cookies zu verwenden, aber es scheint, ich mache es falsch oder funktioniert es gleichzeitig mit Bearer Tokens?)
Code:
%Vor%Ich habe es zu Testzwecken versucht:
%Vor%und in Konfiguration:
%Vor%Potentielles Duplikat: Passing und verifying the OWIN-Bearer-Token in Abfragezeichenfolge in WebAPI
Wenn ich richtig verstanden habe, möchten Sie die Token-Generierung in einer API implementieren und das gleiche Token in einer anderen API verwenden. Wenn dies der Fall ist, müssen Sie Master-API als Token-Generator und Kind oder abhängige API verwenden, um das Token zu konsumieren. Bitte finden Sie Master und Child API-Konfiguration für oauth Master-API-Konfiguration:
%Vor%Kind-API-Konfiguration:
%Vor%Tags und Links asp.net-web-api angularjs owin cookies bearer-token