IdentityServer Kostenlose SSO -Lösung
Cross Plattform SSO -Framework mit OpenID Connect und OAuth 2
Einzelzeichen auf Framework zum Erstellen von Zugriffskontrolllösungen für moderne Webanwendungen und APIs. Vereinfachen Sie das Authentifizierungsmanagement durch Zentralisierung an einem Ort.
Überblick
IdentityServer ist ein Open -Source -Framework, das OpenID Connect und OAuth 2.0 verwendet, um ein einzelnes Zeichen zu erreichen, und fungiert als einzelne Authentifizierungs- und Autorisierungsserver für mehrere Anwendungen. IdentityServer unterstützt sowohl Full .NET Framework (4.5.x) als auch .NET Core (Cross -Plattform). IdentityServer 4 nimmt die Vorteile von .NET Core aus und kann mit Docker auf Linux -Systemen bereitgestellt werden. Es folgt Open ID Connect- und OAuth 2.0 -Spezifikationen und unterstützt eine breite Palette von Clients wie Mobile, Web und Spas. Es handelt sich um Datenbank Agnostic, sodass Sie jedes Back-End Ihrer Wahl verwenden können. Es fungiert als Authentifizierungsserver, auf dem Benutzer sich anmelden können und ein JWT -Bearer -Token bietet, mit dem aus einem Spa oder einer mobilen App auf geschützte Ressourcen zugreifen kann. Es kann verwendet werden, um Authentifizierung für Multi-Mieter-Apps bereitzustellen, die auf separaten Domänen gehostet werden. Es erreicht App SSO mit OIDC (eine Authentifizierungsschicht über OAuth2).
Merkmale
- Authentifizierung als Service: -Single Sign-On /Anmeldung
- Zugangskontrolle für API
- Unterstützt die Föderation Identitäten (Google, Facebook usw.).
- UI -Anpassung
- Mehrere Strömungen (implizit, Autorisierungscode usw.).
- API -Autorisierung
- Anbieterbasierter Anbieter
Installation
Installieren Sie direkt bei Nuget
Sie können direkt von Nuget mit dem folgenden Befehl installieren:
Install-Package IdentityServer4 -Version 4.0.4
IdentityServer4 -Vorlagen installieren
dotnet new -i IdentityServer4.Templates
Fügen Sie Quickui -Dateien und ASP.NET -Identität hinzu (optional)
dotnet new is4aspid --force
Aktualisieren Sie die Methode configureservices () in startup.cs wie unten:
services.AddControllersWithViews();
Aktualisieren Sie auch die Methode configure () in startup.cs:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Bauen und führen Sie das Projekt aus Durchsuchen Sie “/.well-Bekannte/openid-Configuration”, um sicherzustellen, dass Discovery-Endpunkte im Betrieb sind.
in Docker laufen
- Erstellen Sie ein leeres ASP.NET -Kernprojekt (überprüfen Sie “Docker -Unterstützung aktivieren”).
- Stellen Sie sicher, dass die Projektdatei Linux OS Linux abzielt
- Ändern Sie die Docker -Datei wie unten:
FROM microsoft/dotnet:2.2-runtime AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY \[“JrTech.Identity.Web/JrTech.Identity.Web.csproj“, “JrTech.Identity.Web/”\]
RUN dotnet restore “JrTech.Identity.Web/JrTech.Identity.Web.csproj“
COPY . .
WORKDIR “/src/JrTech.Identity.Web”
RUN dotnet build “JrTech.Identity.Web.csproj” -c Release -o /app
FROM build AS publish
RUN dotnet publish “JrTech.Identity.Web.csproj” -c Release -o /app
FROM base AS final
WORKDIR /app
COPY –from=publish /app .
ENTRYPOINT \[“dotnet”, “JrTech.Identity.Web.dll”\]
- IdentityServer 4 hinzufügen, indem Sie den folgenden Befehl ausführen:
dotnet add package IdentityServer4
Erkunden
Möglicherweise finden Sie die folgenden Links relevant:
Automatisieren Sie den Geschäftsbetrieb mit der kostenlosen und Open -Source -Software