IdentityServer Ücretsiz SSO Çözümü
OpenID Connect ve OAuth 2'yi kullanarak çapraz platform SSO çerçevesi
Modern web uygulamaları ve API'lar için erişim kontrol çözümleri oluşturmak için çerçevede tek işaret. Tek bir yere merkezileştirerek kimlik doğrulama yönetimini basitleştirin.
Genel Bakış
IdentityServer, tek bir oturum açması için OpenID Connect ve OAuth 2.0’ı kullanan açık kaynaklı bir çerçevedir, birden fazla uygulama için tek bir kimlik doğrulama ve yetkilendirme sunucusu görevi görür. IdentityServer, Full .NET Framework (4.5.x) ve .NET Core’u (çapraz platform) destekler. IdentityServer 4 .NET Core’un avantajlarından yararlanır ve Linux sistemlerinde Docker kullanılarak dağıtılabilir. Open ID Connect ve OAuth 2.0 spesifikasyonlarını takip eder ve mobil, web ve spa gibi çok çeşitli istemcileri destekler. Veritabanı agnostiktir, böylece seçtiğiniz herhangi bir arka uç kullanabilirsiniz. Kullanıcıların oturum açmasına izin verecek ve korunan kaynaklara bir SPA veya mobil uygulamadan erişmek için kullanılabilecek bir JWT taşıyıcı jetonu sağlayacak bir kimlik doğrulama sunucusu görevi görür. Ayrı alanlarda barındırılan çok kiracılı uygulamalar için kimlik doğrulama sağlamak için kullanılabilir. OIDC (OAuth2’nin üstünde bir kimlik doğrulama katmanı) kullanarak APP SSO’yu elde eder.
Özellikler
- Hizmet Olarak Kimlik Doğrulama: -Tek Oturum Açma /Oturum Açma
- API için Erişim Kontrolü
- Federasyonlu kimlikleri destekler (Google, Facebook vb.).
- UI özelleştirme
- Çoklu akışlar (örtük, yetkilendirme kodu vb.).
- API Yetkisi
- Talep tabanlı sağlayıcı
Kurulum
Doğrudan Nuget’ten Yükle
Aşağıdaki komutu kullanarak doğrudan NuGet’ten yükleyebilirsiniz:
Install-Package IdentityServer4 -Version 4.0.4
IdentityServer4 şablonlarını yükleyin
dotnet new -i IdentityServer4.Templates
Quickui Dosyaları ve ASP.NET Kimlik (İsteğe Bağlı) ekleyin
dotnet new is4aspid --force
Startup.cs içindeki configureServices () yöntemini aşağıdaki gibi güncelle:
services.AddControllersWithViews();
Ayrıca startup.cs’deki configure () yöntemini güncelle:
app.UseRouting();
app.UseIdentityServer();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
Projeyi oluşturun ve çalıştırın Discovery uç noktalarının çalışır durumda olduğundan emin olmak için “/.well-bewn/openid-configuration” göz atın.
Docker’da çalışıyor
- Boş bir ASP.NET Çekirdek Projesi Oluşturun (‘Docker desteğini etkinleştir”)
- Proje dosyasının Linux OS Linux’u hedeflediğinden emin olun
- Docker dosyasını aşağıdaki gibi değiştirin:
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”\]
- Aşağıdaki komutu çalıştırarak IdentityServer 4 ekleyin:
dotnet add package IdentityServer4
Keşfetmek
Aşağıdaki bağlantıları alakalı bulabilirsiniz:
Ücretsiz ve açık kaynaklı yazılım kullanarak iş operasyonlarını otomatikleştirin