Servidor de identidade

IdentityServer Solução SSO gratuita

Cross Platform SSO Framework usando o OpenID Connect e Oauth 2

Framework de sinal único para criar soluções de controle de acesso para aplicativos e APIs modernos da Web. Simplifique o gerenciamento de autenticação, centralizando -se para um local.

Visão geral

O IdentityServer é uma estrutura de código aberto que usa o OpenID Connect e o OAuth 2.0 para obter um único sinal, atua como um único servidor de autenticação e autorização para vários aplicativos. O IdentityServer suporta a estrutura .NET completa (4.5.x) e o .NET Core (que é a plataforma cruzada). O IdentityServer 4 recebe os benefícios do .NET Core e pode ser implantado usando o Docker em sistemas Linux. Segue as especificações do Open ID Connect e do OAuth 2.0 e suporta ampla gama de clientes como Mobile, Web e Spas. É agnóstico do banco de dados para que você possa usar qualquer back-end de sua escolha. Ele atua como um servidor de autenticação que permitirá que os usuários entrem e forneçam um token do portador JWT que pode ser usado para acessar recursos protegidos de um spa ou aplicativo móvel. Ele pode ser usado para fornecer autenticação para aplicativos multi-inquilinos, hospedados em domínios separados. Ele atinge o aplicativo SSO usando OIDC (que é uma camada de autenticação no topo do OAuth2).

Requisitos de sistema


  • Asp.net Core 3.0
  • IIS / Docker

Características


  • Autenticação como serviço: -Sinalização única /saída
  • Controle de acesso para API
  • Suporta identidades federadas (Google, Facebook etc.).
  • Personalização da interface do usuário
  • Vários fluxos (implícitos, código de autorização etc).
  • Autorização da API
  • Provedor baseado em reivindicações

Instalação

Instale diretamente do NUGET

Você pode instalar diretamente a partir do NUGET usando o seguinte comando:

    Install-Package IdentityServer4 -Version 4.0.4

Instale os modelos IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Adicionar arquivos Quickui e ASP.NET Identity (Opcional)

    dotnet new is4aspid --force  

Update ConfigureServices () Método no startup.cs como abaixo:

    services.AddControllersWithViews();  

Método atualize configure () em startup.cs:

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

Construa e execute o projeto Navegue “/.well-knkned/openid-configuration” para garantir que os pontos de extremidade do Discovery estejam em funcionamento.

executando no documento

  1. Crie um projeto Core ASP.NET vazio (verifique ‘Ativar suporte do Docker”)
  2. Verifique se o arquivo do projeto tem como alvo Linux OS Linux
  3. Modifique o arquivo do docker como abaixo:
        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”\]  
  • Adicionar identityServer 4 executando o seguinte comando:
    dotnet add package IdentityServer4

Explore

Você pode encontrar os seguintes links relevantes:

Automatizar operações comerciais usando software de código aberto e gratuito

 Português