IdentityServer Darmowe rozwiązanie SSO
Framework SSO Platform za pomocą OpenId Connect i OAuth 2
Pojedynczy znak na Framework, aby budować rozwiązania kontroli dostępu dla nowoczesnych aplikacji internetowych i interfejsów API. Uprościć zarządzanie uwierzytelnianiem, scentralizując się w jednym miejscu.
Przegląd
IdentityServer to framework open source, który wykorzystuje OpenId Connect i OAuth 2.0 do osiągnięcia pojedynczego znaku, działa jako serwer uwierzytelniania i autoryzacji dla wielu aplikacji. IdentityServer obsługuje zarówno pełną framework .NET (4.5.x), jak i .NET Core (który jest platformą krzyżową). IdentityServer 4 ma zalety .NET Core i można go wdrożyć za pomocą Docker w systemach Linux. Postępuje zgodnie z specyfikacjami Open ID Connect i OAuth 2.0 i obsługuje szeroką gamę klientów, takich jak urządzenia mobilne, internetowe i spa. To baza danych agnostyka, dzięki czemu możesz użyć dowolnego wyboru. Działa jako serwer uwierzytelniający, który pozwoli użytkownikom się zalogować i zapewnia token nosiciela JWT, który można użyć do dostępu do zasobów chronionych ze spa lub aplikacji mobilnej. Można go używać do uwierzytelniania aplikacji wielozadaniowych, hostowanych w osobnych domenach. Osiąga aplikację SSO za pomocą OIDC (która jest warstwą uwierzytelniania na OAuth2).
Cechy
- Uwierzytelnianie jako usługa: -pojedyncze logowanie /wylogowanie się
- Kontrola dostępu do API
- Obsługuje tożsamości federacyjne (Google, Facebook itp.).
- Dostosowywanie interfejsu użytkownika
- Wiele przepływów (niejawny kod autoryzacji itp.).
- Upoważnienie API
- Dostawca oparty na roszczeniach
Instalacja
Zainstaluj bezpośrednio z Nuget
Możesz zainstalować bezpośrednio z Nuget za pomocą następującego polecenia:
Install-Package IdentityServer4 -Version 4.0.4
Zainstaluj szablony IdentityServer4
dotnet new -i IdentityServer4.Templates
Dodaj pliki QuickUi i tożsamość ASP.NET (opcjonalnie)
dotnet new is4aspid --force
Aktualizacja metoda ConfireServices () w startup.cs jak poniżej:
services.AddControllersWithViews();
Zaktualizuj także metodę konfiguruj () w startup.cs:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Zbuduj i uruchom projekt Przeglądaj „/.well-nown/openid-configuration”, aby upewnić się, że punkty końcowe Discovery są uruchomione.
działanie w Docker
- Utwórz pusty projekt ASP.NET (sprawdź „Włącz obsługę Docker”)
- Upewnij się, że plik projektu jest ukierunkowany
- Zmodyfikuj plik Docker jak poniżej:
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”\]
- Dodaj IdentityServer 4, uruchamiając następujące polecenie:
dotnet add package IdentityServer4
Badać
Możesz znaleźć istotne następujące linki:
** Zautomatyzuj operacje biznesowe za pomocą oprogramowania bezpłatnego i open source **