Server identitas

IdentityServer Solusi SSO gratis

Cross Platform SSO Framework Menggunakan OpenID Connect dan OAuth 2

Tanda tunggal pada kerangka kerja untuk membangun solusi kontrol akses untuk aplikasi web modern dan API. Sederhanakan manajemen otentikasi dengan memusatkan ke satu tempat.

Ringkasan

IdentityServer adalah kerangka kerja open source yang menggunakan OpenID Connect dan OAuth 2.0 untuk mencapai tanda tunggal, bertindak sebagai server otentikasi dan otorisasi tunggal untuk beberapa aplikasi. IDENTITYSERVER Mendukung baik .NET Framework (4.5.x) dan .NET Core (yang merupakan platform lintas). IdentityServer 4 mengambil manfaat dari .NET Core dan dapat digunakan menggunakan Docker pada sistem Linux. Ini mengikuti spesifikasi Open ID Connect dan OAuth 2.0 dan mendukung berbagai macam klien seperti seluler, web, dan spa. Agnostik database sehingga Anda dapat menggunakan back-end pilihan Anda. Ini bertindak sebagai server otentikasi yang akan memungkinkan pengguna untuk masuk dan menyediakan token pembawa JWT yang dapat digunakan untuk mengakses sumber daya yang dilindungi dari spa atau aplikasi seluler. Ini dapat digunakan untuk memberikan otentikasi untuk aplikasi multi-penyewa, di-host di domain terpisah. Ini mencapai APP SSO menggunakan OIDC (yang merupakan lapisan otentikasi di atas OAuth2).

Persyaratan sistem


  • ASP.NET Core 3.0
  • IIS / Docker

Fitur


  • Otentikasi sebagai Layanan: -Single-Sign-On /Sign-Out
  • Kontrol akses untuk API
  • Mendukung identitas federasi (Google, Facebook dll).
  • Kustomisasi UI
  • Beberapa aliran (implisit, kode otorisasi dll).
  • Otorisasi API
  • Penyedia berbasis klaim

Instalasi

Instal langsung dari Nuget

Anda dapat menginstal langsung dari Nuget menggunakan perintah berikut:

    Install-Package IdentityServer4 -Version 4.0.4

Instal Template IdentityServer4

    dotnet new -i IdentityServer4.Templates  

Tambahkan file QuickUI dan identitas ASP.NET (opsional)

    dotnet new is4aspid --force  

Update configureServices () Metode di startup.cs seperti di bawah ini:

    services.AddControllersWithViews();  

Perbarui metode konfigurasi () di startup.cs:

    app.UseRouting();  
       
     app.UseIdentityServer();  
     app.UseAuthorization();   
     app.UseEndpoints(endpoints =>  
     {  
     endpoints.MapControllerRoute(  
     name: "default",  
     pattern: "{controller=Home}/{action=Index}/{id?}");  
     });  

Membangun dan menjalankan proyek Jelajahi “/.well-known/openid-konfigurasi” untuk memastikan titik akhir penemuan sedang berjalan dan berjalan.

Berlari di Docker

  1. Buat proyek inti ASP.NET kosong (periksa ‘Aktifkan Dukungan Docker”)
  2. Pastikan file proyek menargetkan Linux OS Linux
  3. Ubah file Docker seperti di bawah ini:
        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”\]  
  • Tambahkan IdentityServer 4 dengan menjalankan perintah berikut:
    dotnet add package IdentityServer4

Mengeksplorasi

Anda mungkin menemukan tautan berikut yang relevan:

Otomatis Operasi Bisnis Menggunakan Perangkat Lunak Sumber Gratis dan Terbuka

 Indonesia