Servidor de identidad

IdentityServer Solución SSO gratuita

Marco SSO de plataforma cruzada utilizando OpenID Connect y OAuth 2

Single firmwork para construir soluciones de control de acceso para aplicaciones web modernas y API. Simplifique la gestión de la autenticación al centralizar en un solo lugar.

Descripción general

IdentityServer es un marco de código abierto que utiliza OpenID Connect y OAuth 2.0 para lograr el inicio de sesión único, actúa como un único servidor de autenticación y autorización para múltiples aplicaciones. IdentityServer admite tanto .NET Framework (4.5.x) como .NET Core (que es plataforma cruzada). IdentityServer 4 toma los beneficios de .NET Core y se puede implementar utilizando Docker en los sistemas Linux. Sigue las especificaciones Open ID Connect y OAuth 2.0 y admite una amplia gama de clientes como dispositivos móviles, web y spas. Es agnóstico de la base de datos para que pueda usar cualquier back-end de su elección. Actúa como un servidor de autenticación que permitirá a los usuarios iniciar sesión y proporciona un token de portador JWT que puede usarse para acceder a recursos protegidos desde un spa o aplicación móvil. Se puede utilizar para proporcionar autenticación para aplicaciones de múltiples inquilinos, alojados en dominios separados. Logra APP SSO usando OIDC (que es una capa de autenticación sobre OAuth2).

Requisitos del sistema


  • ASP.NET Core 3.0
  • IIS / Docker

Características


  • Autenticación como servicio: -Inicio de sesión único /inicio de sesión
  • Control de acceso para API
  • Admite identidades federadas (Google, Facebook, etc.).
  • Personalización de la interfaz de usuario
  • Flujos múltiples (Código de autorización implícito, etc.).
  • Autorización de API
  • Proveedor basado en reclamos

Instalación

Instalar directamente desde Nuget

Puede instalar directamente desde NUGET usando el siguiente comando:

    Install-Package IdentityServer4 -Version 4.0.4

Instalar plantillas IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Agregar archivos Quickui e identidad ASP.NET (opcional)

    dotnet new is4aspid --force  

Actualizar el método ConfigureServices () en startup.cs como se muestra a continuación:

    services.AddControllersWithViews();  

También actualice el método Configurar () en startup.cs:

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

Construir y ejecutar el proyecto Explore “/.well- conocido/openid-configuration” para asegurarse de que los puntos finales de descubrimiento estén en funcionamiento.

Correr en Docker

  1. Cree un proyecto Core ASP.NET vacío (verifique ‘Habilitar el soporte de Docker")
  2. Asegúrese de que el archivo del proyecto se dirige a Linux OS Linux
  3. Modifique el archivo Docker como a continuación:
        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”\]  
  • Agregar IdentityServer 4 ejecutando el siguiente comando:
    dotnet add package IdentityServer4

Explorar

Puede encontrar los siguientes enlaces relevantes:

Automatizar operaciones comerciales utilizando software gratuito y de código abierto

 Español