IdentityServer Nemokamas SSO sprendimas
Kryžminės platformos SSO sistema naudojant „OpenID Connect“ ir „OAuth 2“
Vienkartinis ženklas ant sistemos, skirtos sukurti prieigos valdymo sprendimus šiuolaikinėms žiniatinklio programoms ir API. Supaprastinkite autentifikavimo valdymą centralizuodami į vieną vietą.
Apžvalga
„IdentityServer“ yra atvirojo kodo sistema, kuri naudoja „OpenID Connect“ ir „OAuth 2.0“, kad būtų pasiektas vienas ženklas, veikia kaip vienas autentifikavimo ir autorizacijos serveris kelioms programoms. „IdentityServer“ palaiko ir pilną .NET Framework (4.5.x) ir .NET Core (tai yra kryžminė platforma). „IdentityServer 4“ naudojasi .NET Core pranašumais ir gali būti įdiegtas naudojant „Docker“ „Linux“ sistemose. Tai seka „Open ID Connect“ ir „OAuth 2.0“ specifikacijas ir palaiko įvairius klientus, tokius kaip mobilusis, žiniatinklis ir SPA. Tai duomenų bazė AGNOSTIC, kad galėtumėte naudoti bet kurį pasirinktą galinę dalį. Jis veikia kaip autentifikavimo serveris, kuris leis vartotojams prisijungti ir suteiks JWT nešiklio prieigos raktą, kuris gali būti naudojamas norint pasiekti apsaugotus išteklius iš SPA ar mobiliosios programos. Jis gali būti naudojamas teikiant autentifikavimą daugiapakopėms programoms, esančioms atskiruose domenuose. Jis pasiekia programą SSO naudojant OIDC (tai yra autentifikavimo sluoksnis OATH2 viršuje).
Funkcijos
- Autentifikavimas kaip paslauga: -Vienkartinis prisijungimas /atsijungimas
- API prieigos kontrolė
- Palaiko federalines tapatybes („Google“, „Facebook“ ir kt.).
- UI pritaikymas
- Keli srautai (numanoma, autorizacijos kodas ir tt).
- API leidimas
- Pretenzijų teikėjas
diegimas
Įdiekite tiesiogiai iš „Nuget“
Galite įdiegti tiesiogiai iš „Nuget“ naudodami šią komandą:
Install-Package IdentityServer4 -Version 4.0.4
Įdiegti „IdentityServer4“ šablonus
dotnet new -i IdentityServer4.Templates
Pridėkite „Quickui“ failus ir ASP.NET tapatybę (pasirenkama)
dotnet new is4aspid --force
Atnaujinti „ConfigureServices“ () metodą „Startup.cs“, kaip nurodyta toliau:
services.AddControllersWithViews();
Taip pat atnaujinkite „Configure ()“ metodą „Startup.cs“:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Sukurkite ir vykdykite projektą Naršykite „/.well-žinoma/openid-configuration“, kad įsitikintumėte, jog „Discovery Endpoints“ veikia ir veikia.
Bėgimas Docker
- Sukurkite tuščią ASP.NET pagrindinį projektą (patikrinkite „Įgalinti„ Docker “palaikymą“)
- Įsitikinkite, kad projekto failas nukreiptas į „Linux OS Linux“
- Pakeiskite „Docker“ failą, kaip nurodyta toliau:
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”\]
- Pridėkite „IdentityServer 4“, paleisdami šią komandą:
dotnet add package IdentityServer4
Naršyti
Galite rasti šias tinkamas nuorodas:
Automatizuokite verslo operacijas naudojant nemokamą ir atvirojo kodo programinę įrangą