Server di identità

IdentityServer Soluzione SSO gratuita

Framework SSO Cross Platform Utilizzo di OpenID Connect e OAuth 2

Framework singolo su Framework per creare soluzioni di controllo degli accessi per moderne applicazioni Web e API. Semplifica la gestione dell'autenticazione centralizzando in un posto.

Panoramica ### ** ** IdentityServer è un framework open source che utilizza OpenID Connect e OAuth 2.0 per ottenere un singolo cartello, funge da singolo server di autenticazione e autorizzazione per più applicazioni. IdentityServer supporta sia Full .NET Framework (4.5.x) che .NET Core (che è Cross Platform). IdentityServer 4 sfrutta i vantaggi di .NET Core e può essere distribuito utilizzando Docker sui sistemi Linux. Segue le specifiche Open ID Connect e OAuth 2.0 e supporta un’ampia gamma di client come mobili, web e spa. È agnostico del database in modo da poter utilizzare qualsiasi back-end a tua scelta. Agisce come un server di autenticazione che consentirà agli utenti di accedere e fornire un token del portatore JWT che può essere utilizzato per accedere alle risorse protette da una SPA o un’app mobile. Può essere utilizzato per fornire autenticazione per app multi-tenant, ospitate su domini separati. Raggiunge l’app SSO utilizzando OIDC (che è un livello di autenticazione in cima a OAuth2).

Requisiti di sistema


  • ASP.NET Core 3.0
  • IIS / Docker

Caratteristiche


  • Autenticazione come servizio: -Single Sign-On /Sign-out
  • Controllo dell’accesso per API
  • Supporta le identità federate (Google, Facebook ecc.).
  • personalizzazione dell’interfaccia utente
  • Flussi multipli (implicito, codice di autorizzazione ecc.).
  • Autorizzazione API
  • Provider basato su reclami

Installazione

Installa direttamente da Nuget

È possibile installare direttamente da NuGet utilizzando il comando seguente:

    Install-Package IdentityServer4 -Version 4.0.4

Installa i modelli IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Aggiungi file Quickui e ASP.NET Identity (opzionale)

    dotnet new is4aspid --force  

Aggiorna il metodo ConfiguraServices () in Startup.cs come di seguito:

    services.AddControllersWithViews();  

Aggiorna anche il metodo configure () in startup.cs:

    app.UseRouting();  
       
     app.UseIdentityServer();  
     app.UseAuthorization();   
     app.UseEndpoints(endpoints =>  
     {  
     endpoints.MapControllerRoute(  
     name: "default",  
     pattern: "{controller=Home}/{action=Index}/{id?}");  
     });  

Costruisci ed esegui il progetto Sfoglia “/.well- noto/openid-configuration” per assicurarti che gli endpoint di scoperta siano attivi e funzionanti.

in esecuzione in docker

  1. Crea un progetto Core ASP.NET vuoto (controlla “Abilita supporto Docker”)
  2. Assicurarsi che il file di progetto si rivolga a Linux OS Linux
  3. Modifica il file Docker come di seguito:
        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”\]  
  • Aggiungi IdentityServer 4 eseguendo il seguente comando:
    dotnet add package IdentityServer4

Esplorare

Potresti trovare i seguenti collegamenti pertinenti:

Automatizzare le operazioni aziendali utilizzando software gratuito e open source

 Italiano