Kimlik Sunucusu

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.

Sistem gereksinimleri


  • ASP.NET Core 3.0
  • IIS / Docker

Ö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

  1. Boş bir ASP.NET Çekirdek Projesi Oluşturun (‘Docker desteğini etkinleştir”)
  2. Proje dosyasının Linux OS Linux’u hedeflediğinden emin olun
  3. 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

 Türkçe