IdentityServer Gratis SSO -lösning
Cross Platform SSO -ramverk med OpenID Connect och OAuth 2
Enstaka skylt på ramverk för att bygga åtkomstkontrolllösningar för moderna webbapplikationer och API: er. Förenkla autentiseringshantering genom att centralisera till ett ställe.
Översikt
IdentityServer är en öppen källkodsram som använder OpenID Connect och OAuth 2.0 för att uppnå enstaka skyltar, fungerar som en enda autentiserings- och auktorisationsserver för flera applikationer. IdentityServer stöder både full .NET -ramverk (4.5.x) och .NET Core (som är tvärplattform). IdentityServer 4 tar fördelarna med .NET -kärnan och kan distribueras med Docker på Linux -system. Det följer Open ID Connect och OAuth 2.0 -specifikationer och stöder ett brett utbud av klienter som mobil, webb och spa. Det är Database Agnostic så att du kan använda valfritt back-end av ditt val. Det fungerar som en autentiseringsserver som gör det möjligt för användare att logga in och tillhandahåller ett JWT -bärare som kan användas för att få åtkomst till skyddade resurser från ett spa eller mobilapp. Det kan användas för att tillhandahålla autentisering för appar med flera hyresgäster, värd på separata domäner. Den uppnår APP SSO med OIDC (som är ett autentiseringslager ovanpå OAUTH2).
Funktioner
- Autentisering som tjänst: -Single Sign-On /Inloggning
- Åtkomstkontroll för API
- Stöder federerade identiteter (Google, Facebook etc).
- UI -anpassning
- Flera flöden (implicit, auktorisationskod osv.).
- API -godkännande
- Kravbaserad leverantör
Installation
Installera direkt från nuget
Du kan installera direkt från nuget med följande kommando:
Install-Package IdentityServer4 -Version 4.0.4
Installera IdentityServer4 -mallar
dotnet new -i IdentityServer4.Templates
Lägg till quickui -filer och ASP.NET -identitet (valfritt)
dotnet new is4aspid --force
Uppdatera configureservices () -metoden i start.cs enligt nedan:
services.AddControllersWithViews();
Uppdatera också metoden configure () i startup.cs:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Bygga och driva projektet Bläddra “/.well-känd/openid-configuration” för att se till att upptäcktens slutpunkter är igång.
Kör i Docker
- Skapa ett tomt ASP.NET -kärnprojekt (kontrollera “Enable Docker Support”)
- Se till att projektfilen riktar sig till Linux OS Linux
- Ändra dockningsfilen enligt nedan:
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”\]
- Lägg till IdentityServer 4 genom att köra följande kommando:
dotnet add package IdentityServer4
** Utforska **
Du kan hitta följande länkar relevanta:
** Automatisera affärsverksamhet med gratis och öppen källkodsprogramvara **