IdentityServer Gratis SSO -oplossing
Cross Platform SSO Framework met OpenID Connect en OAuth 2
Eén teken op framework om toegangscontrolesoplossingen te bouwen voor moderne webtoepassingen en API's. Vereenvoudig authenticatiebeheer door te centraliseren naar één plaats.
Overzicht
IdentityServer is een open source framework dat OpenID Connect en OAuth 2.0 gebruikt om een enkel teken te bereiken, fungeert als een enkele authenticatie- en autorisatieserver voor meerdere applicaties. IdentityServer ondersteunt zowel Full .NET Framework (4.5.x) als .NET Core (dat is cross -platform). IdentityServer 4 neemt de voordelen van .NET -kern en kan worden geïmplementeerd met Docker op Linux -systemen. Het volgt op Open ID Connect en OAuth 2.0 -specificaties en ondersteunt een breed scala aan klanten zoals mobiel, web en spa’s. Het is database agnostisch, dus u kunt elke back-end van uw keuze gebruiken. Het fungeert als een authenticatieserver waarmee gebruikers zich kunnen aanmelden en een JWT -drager -token biedt dat kan worden gebruikt om toegang te krijgen tot beschermde bronnen vanuit een spa of mobiele app. Het kan worden gebruikt om authenticatie te bieden voor multi-tenant apps, gehost op afzonderlijke domeinen. Het bereikt App SSO met behulp van OIDC (een authenticatielaag bovenop OAuth2).
Functies
- Authenticatie als service: -Single Sign-On /Sign-out
- Toegangscontrole voor API
- Ondersteunt Federated Identities (Google, Facebook enz.).
- UI -aanpassing
- Meerdere stromen (impliciet, autorisatiecode enz.).
- API -autorisatie
- Claim-gebaseerde provider
Installatie
Installeer rechtstreeks van NuGet
U kunt rechtstreeks vanuit NUGET installeren met de volgende opdracht:
Install-Package IdentityServer4 -Version 4.0.4
IdentityServer4 -sjablonen installeren
dotnet new -i IdentityServer4.Templates
Voeg QuickUI -bestanden toe en ASP.NET Identity (optioneel)
dotnet new is4aspid --force
Update configureservices () methode in startup.cs zoals hieronder:
services.AddControllersWithViews();
Update ook de methode configure () in startup.cs:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Bouw en voer het project uit Blader door “/.well-bekend/openid-configuratie” om ervoor te zorgen dat Discovery Endpoints actief is.
uitgevoerd in Docker
- Maak een leeg ASP.NET Core -project (controleer “Docker Support inschakelen”)
- Zorg ervoor dat het projectbestand zich richt op Linux OS Linux
- Wijzig het Docker -bestand zoals hieronder:
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”\]
- IdentityServer 4 toevoegen door de volgende opdracht uit te voeren:
dotnet add package IdentityServer4
Ontdekken
Mogelijk vindt u de volgende links relevant:
Automatiseer bedrijfsactiviteiten met behulp van gratis en open source software