Laden...

IdentityServer4 Plattform Beispiel basierend auf .NET Core und ASP.NET Core

Erstellt von Abt vor 6 Jahren Letzter Beitrag vor 6 Jahren 4.724 Views
Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 6 Jahren
IdentityServer4 Plattform Beispiel basierend auf .NET Core und ASP.NET Core

Hallo zusammen,

ich habe auf GitHub ein Beispiel zur Verfügung gestellt, wie der IdentityServer4 im Rahmen einer "Plattform" genutzt werden kann.

Viele Beispiele sind nur mit JavaScript Clients (zB React oder Angular); hier war das Ziel alles mit .NET Elementen (ASP.NET Core MVC; ASP.NET Core WebAPI, .NET Core Console) umzusetzen und ein durchgängiges Beispiel zu bieten.

Das ganze ist völlig frei auf GitHub zu nutzen.
Ich hoffe es hilft evtl. dem ein oder anderen den Einstieg einfacher zu schaffen.

https://github.com/BenjaminAbt/Samples.AspNetCore-IdentityServer4

P
441 Beiträge seit 2014
vor 6 Jahren

👍

sehr schön, danke!

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 6 Jahren

Da nun der IdentityServer4 als stable 2.0 release raus kam, hab ich entsprechend meine Bits auch aktualisiert.

L
21 Beiträge seit 2015
vor 6 Jahren

Ich würde gerne den IdentityServer4 nutzen aber alle anderen WebService auf dem klassischen .net belassen. Gibt es da Probleme oder besser gesagt gibt es irgendwelche stolpersteine die dafür sprechen in dem Umfeld IdentityServer3 zu nutzen?

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 6 Jahren

Wenn Du das Model-Projekt durch den .NET Standard in Deinen anderen .NET Framework Projekten nutzen kannst, dann steht das nichts im Wege

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

selbst wenn nicht - so wie ich das verstehe soll ihr denn eine separate IdentityServer4-Anwendung erstellt werden, deren Tokens widerum im normalen .NET-Stack verwendet werden sollen.

Da das ganze ja auf OAth und/oder JWT herausläuft als Schnittstelle - was .NET ja durchaus unterstützt - sehe ich da kein Problem.

LG

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 6 Jahren

Prinzipiell ist es eine völlig getrennte Anwendung, korrekt.
Sprich eine .NET Core Anwendung kann problemlos mit einer .NET Framework, einer NodeJS oder einer Delphi-Anwendung den Token-Handshake austauschen.
OAuth und OpenID sind völlig unabhängige Technologien.

In meinem Beispiel lass ich jedoch den Token durch IdentityServer4.AccessTokenValidation validieren, da sein NuGet Pakete auf Basis .NET Standard ist.
Also wenn man das 1:1 so machen will, dann muss man eine .NET Framework Version haben oder nutzen, die .NET Standard 2.0 implementiert.
Ansonsten muss man einen anderen Weg finden, um den Token validieren zu können; gibt es aber sicher.

Coffeebean hat seine GitHub Samples aber gestern IIRC von IdentityServer3 auf IdentityServer4 migriert.
Wenn also er das schafft, dann schaffen das andere auch 😃

L
21 Beiträge seit 2015
vor 6 Jahren

Sorry da hätte ich mich wohl genauer ausdrücken müssen. Aber ihr habt ja schon richtig interpoliert das der IdentiyServer4 als eigenständige Instanz laufen soll und die Authenzifizierung über OpenIdConnect/OAuth2 laufen. Klar kann man immer alles irgendwie so umbiegen das es am ende doch funktioniert. Ich wollte auch nur abklären ob der Aufwand vllt viel zu groß ist und die Benefits gegenüber einfach den IdentityServer3 zu verwenden unterliegen.

Abt Themenstarter:in
16.806 Beiträge seit 2008
vor 6 Jahren

Um was geht es Dir, um die Funktion oder die Implementierung?

Der IdentityServer4 hat OAuth oder OpenID nicht neu erfunden; an der Funktionalität des Handshakes ändert sich nichts.
Es geht vor allem darum, wie sich der IdentityServer in die ASP.NET Welt integriert; und der IdentityServer3 läuft in der .NET Core Welt so eben nicht.