Máy chủ nhận dạng

IdentityServer Giải pháp SSO miễn phí

Khung SSO nền tảng Cross sử dụng OpenID Connect và OAuth 2

Một dấu hiệu duy nhất trên khung để xây dựng các giải pháp kiểm soát truy cập cho các ứng dụng web và API hiện đại. Đơn giản hóa quản lý xác thực bằng cách tập trung đến một nơi.

Tổng quan

IdentityServer là một khung nguồn mở sử dụng OpenID Connect và OAuth 2.0 để đạt được một dấu hiệu đơn, hoạt động như một máy chủ xác thực và ủy quyền duy nhất cho nhiều ứng dụng. IdentityServer hỗ trợ cả Full .NET Framework (4.5.x) và .NET Core (là nền tảng chéo). IdentityServer 4 có lợi ích của .NET Core và có thể được triển khai bằng Docker trên các hệ thống Linux. Nó theo thông số kỹ thuật Open ID Connect và OAuth 2.0 và hỗ trợ nhiều loại khách hàng như di động, web và spa. Cơ sở dữ liệu của nó bất khả tri để bạn có thể sử dụng bất kỳ back-end nào bạn chọn. Nó hoạt động như một máy chủ xác thực cho phép người dùng đăng nhập và cung cấp mã thông báo của người mang JWT có thể được sử dụng để truy cập các tài nguyên được bảo vệ từ SPA hoặc ứng dụng di động. Nó có thể được sử dụng để cung cấp xác thực cho các ứng dụng nhiều người thuê, được lưu trữ trên các miền riêng biệt. Nó đạt được ứng dụng SSO bằng OIDC (là lớp xác thực trên đỉnh OAuth2).

Yêu cầu hệ thống


  • ASP.NET Core 3.0
  • iis / Docker

Đặc trưng


  • Xác thực dưới dạng dịch vụ: -Đăng nhập /Đăng xuất một lần
  • Kiểm soát truy cập cho API
  • Hỗ trợ danh tính liên kết (Google, Facebook, v.v.).
  • Tùy chỉnh UI
  • Nhiều luồng (ngầm, mã ủy quyền, v.v.).
  • ủy quyền API
  • Nhà cung cấp dựa trên yêu cầu

Cài đặt

Cài đặt trực tiếp từ Nuget

Bạn có thể cài đặt trực tiếp từ NUGET bằng lệnh sau:

    Install-Package IdentityServer4 -Version 4.0.4

Cài đặt Mẫu danh tínhServer4

    dotnet new -i IdentityServer4.Templates  

Thêm các tệp Quickui và Nhận dạng ASP.NET (Tùy chọn)

    dotnet new is4aspid --force  

Cập nhật Phương thức ConfigureService () trong startup.cs như dưới đây:

    services.AddControllersWithViews();  

Cập nhật phương thức Cấu hình () trong startup.cs:

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

Xây dựng và điều hành dự án Duyệt qua /.well-unders/openid-configuration, để đảm bảo các điểm cuối khám phá đang hoạt động.

Chạy trong Docker

  1. Tạo một dự án ASP.NET Core trống (kiểm tra ‘Kích hoạt Docker Support,)
  2. Đảm bảo tệp dự án nhắm mục tiêu Linux OS Linux
  3. Sửa đổi tệp Docker như dưới đây:
        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”\]  
  • Thêm IndentityServer 4 bằng cách chạy lệnh sau:
    dotnet add package IdentityServer4

Khám phá

Bạn có thể tìm thấy các liên kết sau có liên quan:

Tự động hóa hoạt động kinh doanh bằng phần mềm nguồn mở và miễn phí

 Tiếng Việt