Identiteitsserver

IdentityServer Gratis SSO -oplossing

Cross Platform SSO Framework met OpenID Connect en OAuth 2

Eén teken op framework om toegangscontrolesoplossingen te bouwen voor moderne webtoepassingen en API's. Vereenvoudig authenticatiebeheer door te centraliseren naar één plaats.

Overzicht

IdentityServer is een open source framework dat OpenID Connect en OAuth 2.0 gebruikt om een ​​enkel teken te bereiken, fungeert als een enkele authenticatie- en autorisatieserver voor meerdere applicaties. IdentityServer ondersteunt zowel Full .NET Framework (4.5.x) als .NET Core (dat is cross -platform). IdentityServer 4 neemt de voordelen van .NET -kern en kan worden geïmplementeerd met Docker op Linux -systemen. Het volgt op Open ID Connect en OAuth 2.0 -specificaties en ondersteunt een breed scala aan klanten zoals mobiel, web en spa’s. Het is database agnostisch, dus u kunt elke back-end van uw keuze gebruiken. Het fungeert als een authenticatieserver waarmee gebruikers zich kunnen aanmelden en een JWT -drager -token biedt dat kan worden gebruikt om toegang te krijgen tot beschermde bronnen vanuit een spa of mobiele app. Het kan worden gebruikt om authenticatie te bieden voor multi-tenant apps, gehost op afzonderlijke domeinen. Het bereikt App SSO met behulp van OIDC (een authenticatielaag bovenop OAuth2).

Systeem vereisten


  • ASP.NET CORE 3.0
  • IIS / Docker

Functies


  • Authenticatie als service: -Single Sign-On /Sign-out
  • Toegangscontrole voor API
  • Ondersteunt Federated Identities (Google, Facebook enz.).
  • UI -aanpassing
  • Meerdere stromen (impliciet, autorisatiecode enz.).
  • API -autorisatie
  • Claim-gebaseerde provider

Installatie

Installeer rechtstreeks van NuGet

U kunt rechtstreeks vanuit NUGET installeren met de volgende opdracht:

    Install-Package IdentityServer4 -Version 4.0.4

IdentityServer4 -sjablonen installeren

    dotnet new -i IdentityServer4.Templates  

Voeg QuickUI -bestanden toe en ASP.NET Identity (optioneel)

    dotnet new is4aspid --force  

Update configureservices () methode in startup.cs zoals hieronder:

    services.AddControllersWithViews();  

Update ook de methode configure () in startup.cs:

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

Bouw en voer het project uit Blader door “/.well-bekend/openid-configuratie” om ervoor te zorgen dat Discovery Endpoints actief is.

uitgevoerd in Docker

  1. Maak een leeg ASP.NET Core -project (controleer “Docker Support inschakelen”)
  2. Zorg ervoor dat het projectbestand zich richt op Linux OS Linux
  3. Wijzig het Docker -bestand zoals hieronder:
        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 toevoegen door de volgende opdracht uit te voeren:
    dotnet add package IdentityServer4

Ontdekken

Mogelijk vindt u de volgende links relevant:

Automatiseer bedrijfsactiviteiten met behulp van gratis en open source software

 Nederlands