自架授權
自架授權是一組經簽署的金鑰,可於你的 Logto OSS 實例上解鎖 Logto 自架方案 的付費功能。沒有授權時,Logto OSS 的行為與以往完全相同。
授權僅適用於自架 Logto OSS。在 Logto Cloud 上,功能屬於你的 租戶方案 一部分,且不提供授權端點。
授權可解鎖的功能
自架 Pro 授權可於你的實例解鎖以下功能:
| 功能 | 無授權時 | 有授權時 |
|---|---|---|
| 隱藏 Logto 品牌標示 | 一律顯示「Powered by Logto」。 | 你可以選擇隱藏。 |
| 自帶 UI 與自訂 CSP 來源 | 不可用。 | 可將自訂登入 UI 上傳至 自有儲存空間。 |
| Console 成員與邀請 | 不可用。 | 可邀請成員加入 Console,並於 租戶設定 > 成員 管理其角色。 |
| Console 強制 MFA | 僅可選擇 MFA。 | 可要求每位 Console 成員設定 MFA,於 租戶設定 > 設定 中啟用。 |
| SAML 應用程式 | 最多 3 個 SAML 應用程式。 | SAML 應用程式數量無上限。 |
未列於此表的功能不受授權影響。
取得授權
請透過 自架方案頁面申請授權。Logto 會提供你兩組相同授權的金鑰:
- 正式環境金鑰:用於訂閱所涵蓋的正式部署。除非訂單另有說明,每份訂閱僅涵蓋一個正式部署。
- 非正式環境金鑰:用於支援同一正式部署的開發、測試與預備環境。這些部署不得處理正式流量。
兩組金鑰解鎖相同功能與配額。擁有兩組金鑰不代表可執行兩個正式部署。你的使用權限受 自架訂閱條款 與訂單約束。
你安裝的金鑰會告知 Logto 部署類型。Logto 不會技術性驗證,請安裝符合部署類型的金鑰。
安裝授權
你可以在 Console 或透過 Management API 安裝授權。無論哪種方式,Logto 都會於你的實例上驗證授權簽章,並拒絕無效、遭竄改或已過期的金鑰。
於 Console 安裝
- 前往 Console > 租戶設定 > 授權。
- 貼上你的授權金鑰並點擊 安裝授權。
安裝後,頁面會顯示授權詳細資訊。若需切換金鑰(例如從非正式環境金鑰切換至正式環境金鑰,或換用新發行的金鑰),請點擊 更換授權。
使用 Management API 安裝
將金鑰傳送至 PUT /api/systems/license,並附上 Logto Management API 的存取權杖:
curl -X PUT 'https://your-logto-endpoint/api/systems/license' \
-H 'Authorization: Bearer <access_token>' \
-H 'Content-Type: application/json' \
-d '{ "license": "<your_license_key>" }'
成功請求會回傳 204 No Content。請求失敗時:
- 若金鑰未經 Logto 簽署或已被修改,回傳
400與license.invalid_key。 - 若金鑰已過期,回傳
400與license.expired_key。請取得新金鑰並重新安裝。 - 若你的 Logto 執行於 Logto Cloud,回傳
501。
如需查詢已安裝的授權,請發送 GET /api/systems/license。回應內容包含授權方案、環境、權益、到期日與刷新狀態,不會回傳金鑰本身,且未安裝授權時回傳 404。完整請求與回應格式請參閱 Management API 參考文件。
多實例部署
授權儲存在你的 Logto 資料庫中,因此共用同一資料庫的所有 Logto 實例僅需安裝一次授權。
刷新與寬限期
Logto 於本地驗證授權簽章,因此登入應用程式時不需連線至 Logto,且刷新失敗不會阻擋登入流量。
為同步續約與取消資訊,你的實例會與 Logto Cloud 檢查:
- 每週檢查:距離上次成功刷新超過 7 天時,Logto 會於處理請求時於背景刷新授權。若刷新失敗,稍後會重試,每小時最多一次。新安裝的授權會立即刷新。
- 30 天寬限期:若刷新失敗(例如無法連線網際網路),功能會於上次成功刷新後 30 天內持續運作。之後,實例將恢復 OSS 預設狀態。
- 被拒絕的刷新:若 Logto 拒絕刷新授權(如訂閱已取消),授權頁面會顯示原因。寬限期仍自上次成功刷新起算。
刷新為你的實例對 https://cloud.logto.io 發出的 HTTPS 請求。若實例位於防火牆後,請允許此目的地。
實例傳送的資訊
刷新請求僅包含:
- 你的授權金鑰(以
licenseId識別授權)。 deploymentId:首次安裝授權時產生的隨機識別碼,儲存在資料庫中,所有共用該資料庫的實例皆使用同一識別碼,且更換授權時不會變更。- Logto 版本。
Logto 不會收集使用者數、主機名稱、網域或設定。這些資料僅供參考(如續約時),不會於產品中顯示或評估。行為為開源,詳見 LicenseReader.ts。
授權到期
授權涵蓋一年期,到期日 為該期間結束日。
- 續約時,你的實例無需任何操作。續約後的下次刷新會自動以新金鑰取代,並延長一年。頁面顯示的日期可能會在續約後短暫過期,功能期間仍可用。
- 未續約時,期間結束後刷新會被拒絕。功能於 30 天寬限期結束前持續運作,之後實例恢復 OSS 預設狀態,如同未安裝授權。授權頁面會顯示說明與發生日期。
- 若已超過寬限期,請安裝新金鑰以再次解鎖功能。如需新金鑰,請聯繫 Logto 取得授權時所用的管道。
功能關閉時會發生什麼事
恢復 OSS 預設狀態不會刪除你以授權建立的任何資料:
- 隱藏 Logto 品牌標示:會再次顯示「Powered by Logto」。你的設定會被保留,日後安裝授權時自動套用。
- SAML 應用程式:超過 3 個的應用程式會保留,但無法新增新應用程式,直到數量低於限制。
- 強制 MFA:你隨時可以關閉。無授權時無法再次啟用。
- 自帶 UI、自訂 CSP 與 Console 邀請:無法進行需該功能的新變更,既有資料會保留。
設定自帶 UI 的儲存空間
於 Logto Cloud 上,自帶 UI 資產由 Logto 託管。於自架實例,資產儲存在你設定的物件儲存空間。Logto 會解壓縮你的上傳並將檔案存放於該處,並自該處提供服務。
請以與 檔案儲存供應商 相同的 JSON 結構設定 experienceBlobsProvider 系統設定,例如 S3 相容儲存空間:
pnpm logto db system set experienceBlobsProvider '{"provider":"S3Storage","accessKeyId":"my-access-key-id","accessSecretKey":"my-secret-access-key","bucket":"logto-sie","endpoint":"https://s3.us-east-2.amazonaws.com"}'
更改設定後請重啟 Logto。接著依照 自帶 UI 指引於 Console 上傳資產。
Console 成員邀請郵件
Console 邀請郵件會透過預設租戶的電子郵件連接器發送。請先 設定電子郵件連接器 再邀請成員。