ASP.NET Identity Externe Anbieter Web API ohne Cookies

8

Ich habe mehrere Möglichkeiten gesehen, um externe Provider-Unterstützung für die Authentifizierung in ASP.NET Web API mit Identity einzurichten, aber alle von ihnen beruhen auf einem Cookie, der gesetzt wird, nachdem der Benutzer erfolgreich von dem externen Provider autorisiert wurde (called " AspNet.External "), die dann an den Token-Endpunkt in der Web-API selbst weitergeleitet werden muss.

Gibt es eine Möglichkeit, dies zu umgehen und externe Authentifizierung mit der ASP.NET-Web-API zu verwenden, ohne dass Cookies verwendet werden müssen? Der Grund für dieses Problem ist, dass ich diese Authentifizierung in meine mobile App integrieren möchte, aber der Nutzer kann Cookies jederzeit deaktivieren, wodurch meine App unbrauchbar wird.

    
Martin Zikmund 04.02.2015, 18:38
quelle

1 Antwort

7

Was ist mit OAuth2?

  1. Erstellen Sie einen oauth2-Server mit Ссылка ,
  2. Richten Sie Ihre Server-Web-API-App als Ressourcenserver ein und aktivieren Sie die OAuth-Bearer-Authentifizierung, die Authentication-Header, nicht Cookie, verwendet.
  3. Nachdem get access_token vom oauth2-Server abgerufen wurde, setzen Sie den Authentication-Header für Ihre Client-Anfrage.

Sie können den Code hier überprüfen:

Ссылка

    
zhimin 09.02.2015 23:32
quelle