Was bietet Identity Server, was ASP.NET Core Identity nicht bietet?

9

Ich versuche, mich bei der Erstellung einer neuen Website mit ASP.NET Core um das Gesamtbild zu kümmern. Ich möchte, dass sich Benutzer meiner Website bei sozialen Medien wie Facebook und Google registrieren und anmelden können. Sobald ich registriert bin, wenn sie Anforderungen an meine WebAPI für Ressourcen stellen, muss ich wissen, welcher Benutzer angemeldet ist, damit die Ressourcenanforderungen für den Benutzer personalisiert werden können. Ich habe mit ASP.NET Core Identity gespielt und dies scheint einen Großteil der Funktionen zu bieten, die ich benötige - zum Beispiel die Registrierung bei externen Anbietern, das Anmelden und das Speichern dieser Details in einer Datenbank mit Entity Framework - jedoch mit einem wenig mehr Magie als ich wirklich gerne hätte - viele Tutorials listen Schritte auf, um es zum Laufen zu bringen, ohne zu erklären, wie es im Hintergrund funktioniert, wenn man zum Beispiel mit Facebook spricht.

Im Front-End möchte ich Aurelia verwenden, und ich habe eine Reihe von Tutorials gesehen, die Identity Server verwenden - was ich als Implementierung von OpenIDConnect verstehe.

Nachdem Sie ein Video über IdentityServer durchgesehen haben ... Ich verstehe, dass Sie ASP.NET Core Identity mit IdentityServer verwenden können. Was ich nicht verstehe, ist, ob dies für mich nützlich wäre, wenn ich nur ASP.NET Core Identity implementiere. (Das heißt, ich kann anscheinend keine Tutorials für die Integration von Aurelia, ASP.NET Core Identity finden ...) Was ist im Allgemeinen der Vorteil einer höheren Komplexität von Identity Server gegenüber der Verwendung von ASP.NET Core Identity?

Chris Nevill
quelle
1
Diese Seite ist für konzeptionelle und Software-Engineering-Fragen. Fragen zu Tools, Vergleichen, Empfehlungen usw. sind nicht zum Thema.
Andres F.
3
Die beiden Bibliotheken sind bis zu einem gewissen Grad miteinander verbunden. Ich versuche zu verstehen, wo eine endet und eine andere beginnt. Wenn es nicht zum Thema gehört, würde ich gerne wissen, ob ich diese Frage woanders stellen kann.
Chris Nevill
1
Dies ist hier definitiv kein Thema und leider sind mir keine Websites aus dem Stackexchange-Netzwerk bekannt, auf denen Sie dies erfragen können.
Andres F.
4
Ich verstehe nicht, wie das nicht zum Thema gehört. Klingt für mich nach einer legitimen Frage.
RubberDuck
1
Ich habe die gleichen Missverständnisse. Ich würde versuchen, es bei Stackoverflow zu fragen.
SiberianGuy

Antworten:

3

Mit Identity Server können Sie Zugriffstoken für APIs ausstellen. Nach meiner Erfahrung wurde es nur verwendet, wenn für die Anwendung eine benutzerdefinierte OAuth 2.0-Authentifizierung erforderlich ist, die von den von ASP.Net Core unterstützten Authentifizierungsanbietern nicht bereitgestellt werden kann. Wenn Ihre Site einen vorhandenen OAuth 2.0-Anbieter verwenden kann, hat das Einrichten und Verwalten einer eigenen Instanz von Identity Server keinen Vorteil.

Neverseenjack
quelle
1
Das ist eine gute Antwort. Die gesamte Frage ist jedoch nicht thematisch (sie stellt eher eine Frage zu einer bestimmten Technologie als eine allgemeine Frage zur Softwareentwicklung).
Jay Elston
Einig über die spezifische Technologie. Wenn Sie jedoch bestimmte Erwähnungen zu ASP.Net Core entfernen, wird in der Frage im Wesentlichen gefragt, was der Zweck eines benutzerdefinierten Identitätsanbieters ist.
Neverseenjack