Serveur d'identité

IdentityServer Solution SSO gratuite

Framework SSO multiplateforme utilisant OpenID Connect et OAuth 2

Framework, connexion unique pour créer des solutions de contrôle d'accès pour les applications Web modernes et les API. Simplifiez la gestion de l'authentification en centralisant en un seul endroit.

Aperçu

IdentityServer est un framework open source qui utilise OpenID Connect et OAuth 2.0 pour obtenir une connexion unique, agit comme un seul serveur d’authentification et d’autorisation pour plusieurs applications. IdentityServer prend en charge à la fois le framework .NET complet (4.5.x) et le noyau .NET (qui est transformatrice). IdentityServer 4 prend les avantages du noyau .NET et peut être déployé à l’aide de Docker sur les systèmes Linux. Il suit les spécifications Open ID Connect et OAuth 2.0 et prend en charge une large gamme de clients comme le mobile, le Web et les spas. Il s’agit de la base de données agnostique afin que vous puissiez utiliser n’importe quel back-end de votre choix. Il agit comme un serveur d’authentification qui permettra aux utilisateurs de se connecter et fournit un jeton JWT Bearier qui peut être utilisé pour accéder aux ressources protégées d’un spa ou d’une application mobile. Il peut être utilisé pour fournir une authentification pour les applications multi-locataires, hébergées sur des domaines séparés. Il réalise APP SSO en utilisant OIDC (qui est une couche d’authentification au-dessus de OAuth2).

Configuration requise


  • ASP.NET Core 3.0
  • iis / docker

Caractéristiques


  • Authentification comme service:
  • connexion unique / déconnexion
  • Contrôle d’accès pour l’API
  • prend en charge les identités fédérées (Google, Facebook, etc.).
  • Personnalisation de l’interface utilisateur
  • plusieurs flux (implicite, code d’autorisation, etc.).
  • Autorisation de l’API
  • Fournisseur basé sur les réclamations

Installation

Installer directement à partir de Nuget

Vous pouvez installer directement à partir de NuGet en utilisant la commande suivante:

    Install-Package IdentityServer4 -Version 4.0.4

Installer des modèles IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Ajouter des fichiers QuickUI et ASP.NET Identity (facultatif)

    dotnet new is4aspid --force  

Mise à jour configureServices () Méthode dans startup.cs comme ci-dessous:

    services.AddControllersWithViews();  

Mettez également à jour la méthode configure () dans startup.cs:

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

Construire et exécuter le projet Parcourez «/.well-known/openid-configuration» pour vous assurer que Discovery Endpoints est opérationnel.

Running in docker

  1. Créez un projet ASP.NET Core vide (vérifiez «Activer la prise en charge de Docker»)
  2. Assurez-vous que le fichier de projet cible Linux OS Linux
  3. Modifiez le fichier docker comme ci-dessous:
        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”\]  
  • Ajouter IdentityServer 4 en exécutant la commande suivante:
    dotnet add package IdentityServer4
 Français