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).
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
- Buat proyek inti ASP.NET kosong (periksa ‘Aktifkan Dukungan Docker”)
- Pastikan file proyek menargetkan Linux OS Linux
- 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