From d6f4b9ea21fb5a000332075f2f12407cdda65f2f Mon Sep 17 00:00:00 2001 From: liuxiaohua Date: Tue, 7 Jan 2025 14:45:21 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20[2025-01-07]=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20Linkwarden=E3=80=81=E9=9B=86=E7=AE=80=E4=BA=91=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E3=80=81Yearning=E9=83=A8=E7=BD=B2=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 教程/20250107-Yearning安装及SSO接入指南.md | 87 +++++++++++++--------- 1 file changed, 52 insertions(+), 35 deletions(-) diff --git a/教程/20250107-Yearning安装及SSO接入指南.md b/教程/20250107-Yearning安装及SSO接入指南.md index aa4e57b..0b89908 100644 --- a/教程/20250107-Yearning安装及SSO接入指南.md +++ b/教程/20250107-Yearning安装及SSO接入指南.md @@ -28,47 +28,64 @@ ### Docker Compose -#### `docker-compose.yml` 文件 -```yaml -version: '3' -services: - yearning: - image: yeelabs/yearning:v3.1.5 - environment: - MYSQL_USER: yearning - MYSQL_PASSWORD: ukC2ZkcG_ZTeb - MYSQL_ADDR: mysql - MYSQL_DB: yearning - SECRET_KEY: dbcjqheupqjsuwsm - IS_DOCKER: is_docker - ports: - - 8000:8000 - volumes: - - ./opt/conf.toml:/opt/conf.toml - #- 首次使用请先初始化 - #- command: /bin/bash -c "./Yearning install && ./Yearning run" - depends_on: - - mysql - restart: always +#### `conf.toml` 文件 - mysql: - image: mysql:5.7 - environment: - MYSQL_ROOT_PASSWORD: ukC2ZkcG_ZTeb - MYSQL_DATABASE: yearning - MYSQL_USER: yearning - MYSQL_PASSWORD: ukC2ZkcG_ZTeb - command: - - --character-set-server=utf8mb4 - - --collation-server=utf8mb4_general_ci - volumes: - - ./data/mysql:/var/lib/mysql +```toml +[Mysql] +Db = "Yearning" +Host = "127.0.0.1" +Port = "3306" +Password = "" +User = "root" -#- 默认账号:admin,默认密码:Yearning_admin +[General] +SecretKey = "dbcjqheupqjsuwsm" +Hours = 4 +Lang = "zh_CN" + +[Oidc] +Enable = false +ClientId = "${keycloak的客户端ID}" +ClientSecret = "${keycloak的客户端Secret}" +Scope = "openid profile" +AuthUrl = "${issuer链接}/protocol/openid-connect/auth" +TokenUrl = "${issuer链接}/protocol/openid-connect/token" +UserUrl = "${issuer链接}/protocol/openid-connect/userinfo" +RedirectUrL = "${yearning的地址}/oidc/_token-login" +UserNameKey = "preferred_username" +RealNameKey = "name" +EmailKey = "email" +SessionKey = "session_state" ``` +### Yearning OIDC 配置 + +- 可以参考:https://next.yearning.io/zh/usage/boccobus/ + +#### 修改 `conf.toml`(Keycloak示例) + +```toml +[Oidc] +Enable = true +ClientId = "${keycloak的客户端ID}" +ClientSecret = "${keycloak的客户端Secret}" +Scope = "openid profile" +AuthUrl = "${issuer链接}/protocol/openid-connect/auth" +TokenUrl = "${issuer链接}/protocol/openid-connect/token" +UserUrl = "${issuer链接}/protocol/openid-connect/userinfo" +RedirectUrL = "${yearning的地址}/oidc/_token-login" +UserNameKey = "preferred_username" +RealNameKey = "name" +EmailKey = "email" +SessionKey = "session_state" +``` + +- ${keycloak的客户端ID}:例如 `yearning` +- ${keycloak的客户端Secret}: Keycloak中获取 +- ${issuer链接}: Keycloak 中获取 +- ${yearning的地址}:yearning 请求地址 ### 异常处理