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).
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
- Cree un proyecto Core ASP.NET vacío (verifique ‘Habilitar el soporte de Docker")
- Asegúrese de que el archivo del proyecto se dirige a Linux OS Linux
- 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