ASP.NET Core KeyCloak 實作

以下是整合 .NET 8 WebAPI 專案中 Keycloak 的用戶 CRUD 和重置密碼功能的完整範例。這個範例涵蓋了以下部分:

  1. 設置 Keycloak 配置。

  2. 使用 HttpClient 認證並調用 Keycloak API。

  3. Keycloak 用戶的 CRUD 操作。

  4. 用戶重置密碼操作。

設置項目

首先,在終端中創建新的 .NET 8 WebAPI 項目:

dotnet new webapi -n KeycloakUserAPI
cd KeycloakUserAPI
dotnet add package Microsoft.Extensions.Configuration

設置 appsettings.json

appsettings.json 中添加 Keycloak 的配置:

{
  "Keycloak": {
    "BaseUrl": "http://localhost:8080",
    "Realm": "your-realm-name",
    "ClientId": "admin-cli",
    "ClientSecret": "your-client-secret",
    "Username": "admin",
    "Password": "admin_password"
  }
}

創建 KeycloakService

Services 資料夾中創建 KeycloakService.cs,該服務將處理 Keycloak 的用戶 CRUD 和重置密碼操作。

創建 User 模型

Models 資料夾中創建 User.cs 模型:

創建 UsersController

Controllers 資料夾中創建 UsersController.cs,處理 Keycloak 使用者的 CRUD 和密碼重置功能。

設置 DI 和啟動專案

Program.cs 中註冊 KeycloakServiceHttpClient

Last updated