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).
Đặ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
- Tạo một dự án ASP.NET Core trống (kiểm tra ‘Kích hoạt Docker Support,)
- Đảm bảo tệp dự án nhắm mục tiêu Linux OS Linux
- 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í