IdentityServer راه حل رایگان SSO
Cross Platform SSO Framework با استفاده از OpenID Connect و OAuth 2
علامت واحد در چارچوب برای ایجاد راه حل های کنترل دسترسی برای برنامه های وب و API های مدرن. مدیریت احراز هویت را با تمرکز در یک مکان ساده کنید.
بررسی اجمالی
IdentityServer یک چارچوب منبع باز است که از OpenID Connect و OAUTH 2.0 برای دستیابی به علامت واحد استفاده می کند ، به عنوان یک سرور احراز هویت و مجوز واحد برای چندین برنامه عمل می کند. IdentityServer از هر دو چارچوب کامل .NET (4.5.x) و .NET Core (که سیستم عامل متقاطع است) پشتیبانی می کند. IdentityServer 4 از مزایای هسته دات نت استفاده می کند و می تواند با استفاده از Docker در سیستم های لینوکس مستقر شود. این مشخصات Open ID Connect و OAUTH 2.0 را دنبال می کند و از طیف گسترده ای از مشتریانی مانند موبایل ، وب و اسپا پشتیبانی می کند. این پایگاه داده Agnostic است ، بنابراین می توانید از هر نوع انتخابی خود استفاده کنید. این به عنوان یک سرور احراز هویت عمل می کند که به کاربران امکان ورود به سیستم را می دهد و یک نشانه تحمل JWT را فراهم می کند که می تواند برای دسترسی به منابع محافظت شده از یک برنامه آبگرم یا برنامه تلفن همراه استفاده شود. می توان از آن برای ارائه تأیید اعتبار برای برنامه های چند مستاجر ، که در حوزه های جداگانه میزبان هستند استفاده شود. این برنامه با استفاده از OIDC (که یک لایه احراز هویت در بالای OAuth2 است) به برنامه SSO می رسد.
امکانات
- احراز هویت به عنوان سرویس: -تک ثبت نام /ثبت نام
- کنترل دسترسی به API
- از هویت های فدرال (Google ، Facebook و غیره) پشتیبانی می کند.
- سفارشی سازی UI
- چندین جریان (ضمنی ، کد مجوز و غیره).
- مجوز API
- ارائه دهنده مبتنی بر ادعا
نصب و راه اندازی
مستقیم از Nuget نصب کنید
با استفاده از دستور زیر می توانید مستقیماً از NUGET نصب کنید:
Install-Package IdentityServer4 -Version 4.0.4
الگوهای IdentityServer4 را نصب کنید
dotnet new -i IdentityServer4.Templates
فایلهای QuickUi و هویت ASP.NET را اضافه کنید (اختیاری)
dotnet new is4aspid --force
روش به روزرسانی ConfiguresRevice () در Startup.cs را به شرح زیر:
services.AddControllersWithViews();
همچنین روش پیکربندی () را در Startup.cs به روز کنید:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
پروژه را بسازید و اجرا کنید برای اطمینان از اینکه نقاط پایانی Discovery به پایان رسیده و در حال اجرا است ، “/.well-known/openid-configuration” را مرور کنید.
در حال اجرا در Docker
- یک پروژه اصلی ASP.NET را ایجاد کنید (بررسی کنید ‘پشتیبانی Docker را فعال کنید")
- اطمینان حاصل کنید که پرونده پروژه Linux OS Linux را هدف قرار می دهد
- پرونده Docker را به شرح زیر اصلاح کنید:
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 را اضافه کنید:
dotnet add package IdentityServer4
کاوش
ممکن است پیوندهای زیر را پیدا کنید:
عملیات تجاری را با استفاده از نرم افزار رایگان و منبع باز خودکار کنید