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?
Antworten:
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.
quelle