ASP.NET Core fehlendes Token-Verfahren implementieren

Leider ist zum aktuellen Zeitpunkt (13.07.17) in ASP.NET Core 1.1 das Bearer Token Authentifizierungsverfahren noch nicht implementiert.

Falls man jetzt jedoch trotzdem seinen REST Service über Token absichern möchte, kann man das Token Authentifizierungsverfahren selbst implementieren.

Zuerst müssen Dependencies mittels Constructor Injection in den Controller geladen werden.

Jetzt kann die /token Methode implementiert werden.

Hierbei ist zu beachten dass die einzelnen Properties hinter User abhängig von der eignen ApplicationUser Implementierung sind. Zudem kann man bei dem Punkt „expires: DateTime.UtcNow.AddMinutes(60)“ auch den Wert deutlich höher stellen.

Die einzelnen  Konfigurationsparameter werden aus der Datei appsettings.json geladen.

  "JwtSecurityToken": {
    "Key": "hierkommteinsupersichererkeyhin",
    "Issuer": "http://localhost:59822/",
    "Audience": "http://localhost:59822/"
  }
}

Abschließend muss nun die Funktionalität noch in der Startup.cs konfiguriert werden.

In der Configure Methode können natürlich noch weitere Einstellungen, wie zum Beispiel app.UseMvc(…) verwendet werden.

Um ein fehlerhaftes Verhalten in der API zu vermeiden sollte man zudem noch folgendes in der Methode „ConfigureServices“ implementieren:

Dies verhindert eine automatische Weiterleitung zur HTML Login Seite.

Der Identity Service ist oben in meinem Falle für LiteDB ausgelegt. Dies kann man natürlich auf für herkömmliche relationale Systeme verwenden.

Weitere Informationen findet man auf der folgenden Seite:

https://logcorner.com/token-based-authentication-using-asp-net-web-api-core/

Werbeanzeigen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s