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).
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
- Créez un projet ASP.NET Core vide (vérifiez «Activer la prise en charge de Docker»)
- Assurez-vous que le fichier de projet cible Linux OS Linux
- 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