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).
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
- Crie um projeto Core ASP.NET vazio (verifique ‘Ativar suporte do Docker”)
- Verifique se o arquivo do projeto tem como alvo Linux OS Linux
- 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