跳至內容

CaelLabID

輕之舟百科,讓知識輕裝啟航
IdleTap-bot​(對話 | 貢獻)2026年8月7日 (五) 02:39的修訂 (移除 Languages 模板(已清理多语言翻译条目))

CaelLabID 是虛舟實驗室(CaelLab)推出的統一身份認證與授權開放平台,基於 OAuth 2.0 標準協議構建。作為面向第三方開發者的開放平台[1],CaelLabID 允許任何開發者註冊應用並接入其用戶體系,通過標準化的授權流程為應用提供安全的用戶身份驗證服務。虛舟實驗室自身的其他應用在平台中也僅作為普通第三方應用存在,與其他開發者的應用遵循相同的接入規範和技術標準。[1]

概述

CaelLabID 是虛舟實驗室面向開發者提供的統一身份認證開放平台,遵循 OAuth 2.0 標準協議中的 Authorization Code Grant(授權碼模式)流程。[1]該平台允許任意開發者註冊應用,並通過標準化的 OAuth 2.0 流程安全接入 CaelLabID 的用戶體系,獲取用戶授權並調用用戶基本信息。[1]平台在服務端不存儲用戶明文密碼,而是採用 SHA-256 哈希算法進行存儲,以增強安全性。[1]

作為開放平台,CaelLabID 對所有接入應用採取統一的技術標準和管理規範。虛舟實驗室自身開發的其他應用(例如其旗下的各服務)在 CaelLabID 平台中同樣作為普通第三方應用接入,需要按照相同的流程創建應用、獲取獨立的 client_id 和 client_secret,並遵循同樣的 OAuth 2.0 授權流程,不存在特權接入通道。[1]這一機制確保了平台的開放性和中立性。

核心功能

CaelLabID 開放平台提供以下核心功能:[1]

  • OAuth 2.0 授權碼流程:標準化的授權碼模式,支持第三方應用通過用戶授權獲取訪問令牌。
  • 跨應用私隱保護:為每個應用分配獨立的用戶標識符(sub),防止第三方應用通過用戶 ID 進行跨應用關聯追蹤。
  • Refresh Token 輪換:每次刷新令牌時簽發新的 Refresh Token,舊的令牌自動失效,提升會話安全性。
  • Token 撤銷:支持主動撤銷 Access Token 和 Refresh Token。

技術規格

支持的 Scope

CaelLabID 當前僅開放 `openid` scope,用於獲取用戶的基本身份標識。[1] `profile`(用戶名、顯示名、頭像、簡介)和 `email`(郵箱地址及驗證狀態) scope 計劃在後續版本中逐步開放。[1]

令牌有效期

系統對各類型令牌設定了以下有效期:[1]

  • 授權碼(Authorization Code):10 分鐘
  • Access Token:1 小時

OAuth 2.0 接入流程

CaelLabID 的 OAuth 2.0 接入遵循標準的授權碼模式,整體流程如下:[2]

  1. 引導用戶授權:第三方應用將用戶瀏覽器重定向至 CaelLabID 的授權端點(`/oauth/authorize`),用戶登錄並確認授權。[2]
  2. 處理回調:用戶授權後,CaelLabID 通過 302 重定向將授權碼(code)返回至應用指定的回調地址。[2]
  3. 換取令牌:應用服務端使用授權碼,通過向 `/oauth/token` 端點發起 POST 請求,換取 Access Token 和 Refresh Token。[2]

授權端點

授權 URL 構造方式如下:[2]

https://id.caellab.com/oauth/authorize?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_CALLBACK_URL&scope=openid&state=RANDOM_STRING

主要請求參數包括:[2]

  • `response_type`:固定值 `code`
  • `client_id`:應用註冊時獲得的 Client ID
  • `redirect_uri`:回調地址,須與註冊時填寫的一致
  • `scope`:權限範圍,當前僅支持 `openid`
  • `state`:推薦使用的隨機字符串,用於防止 CSRF 攻擊

令牌端點

換取 Access Token 需向 `/oauth/token` 端點發起 POST 請求,支持以下兩種認證方式:[2]

  • POST body 傳參:在請求體中傳遞 `client_id` 和 `client_secret`
  • HTTP Basic Auth:在 Authorization 頭中使用 Base64 編碼的 `client_id:client_secret`

成功響應返回 JSON 格式數據,包含 `access_token`、`token_type`、`expires_in`、`refresh_token` 等字段。[2]

開發者資源

CaelLabID 開放平台為開發者提供了完整的接入文檔,包括快速開始指南、OAuth 流程詳解以及多種編程語言(PHP、Node.js)和 cURL 的代碼示例。[2]開發者可通過官方文檔了解應用註冊、授權流程配置、令牌管理等詳細技術信息。

參考文獻