工作階段設定 (Session configuration)
工作階段設定 (Session configuration) 定義租戶層級的控制,用於決定 Logto 登入工作階段 (sign-in sessions) 的存續時間,以及如何強制執行與工作階段相關的存取政策。
本頁涵蓋:
- 工作階段 TTL 設定 (Session TTL configuration)
- 每個應用程式的最大同時驗證裝置數 (Max concurrent authenticated devices per app)
工作階段 TTL 設定 (Session TTL configuration)
工作階段 TTL(Time To Live)決定 Logto OIDC 登入工作階段的最長存續時間。 這是一個租戶層級設定:一旦設定,將套用於該租戶下所有應用程式與驗證流程。
預設行為 (Default behavior)
- 預設情況下,工作階段 TTL 為 14 天。
- 若未自訂 TTL,Logto 會持續使用此預設值。
透過 Logto Console 設定
你可以在 Console 的以下位置設定工作階段 TTL:
Console > 租戶 (Tenant) > 設定 (Settings) > OIDC 設定 (OIDC settings)
使用 Session maximum time to live 欄位來更新數值。
Console 以天為單位輸入與顯示,而底層 OIDC 工作階段設定 / API 則以秒為單位。
透過 Management API 設定
使用以下端點讀取與更新 OIDC 工作階段設定:
GET /api/configs/oidc/sessionPATCH /api/configs/oidc/session
範例(ttl 以秒為單位):
curl https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>'
curl -X PATCH https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>' \
-H 'content-type: application/json' \
--data-raw '{"ttl":1209600}'
1209600 秒 = 14 天。
每個應用程式的最大同時驗證裝置數 (Max concurrent authenticated devices per app)
每個應用程式的最大同時驗證裝置數是一個應用程式層級的控制,用於限制每位使用者在特定應用程式下可保有的有效授權 (active grants) 數量。
這可透過應用程式 customClientMetadata 中的 maxAllowedGrants 欄位設定。
詳情請參閱 應用程式資料結構 (Application data structure)。
行為說明 (Behavior)
當設定了 maxAllowedGrants 時,Logto 會在每次授權成功時評估使用者於當前應用程式的有效授權數。
若有效授權數超過限制,Logto 會優先撤銷最舊的授權。
若未設定 maxAllowedGrants,則無同時數量限制。
透過 Logto Console 設定
你可以在每個應用程式的詳細頁面設定此項目:
Console > 應用程式 (Applications) > 應用程式詳情 (Application details) > 同時裝置限制 (Concurrent device limit)
為當前應用程式設定每位使用者可同時啟用的最大授權(裝置)數量。
此設定不支援機器對機器應用程式、受保護應用程式與 SAML 應用程式。
透過 webhook 監控授權回收 (Monitor evictions with a webhook)
當 Logto 為強制執行 maxAllowedGrants 而撤銷使用者最舊的授權時,會觸發 Grant.LimitExceeded webhook 事件,讓你能即時回應裝置被登出,而非事後從客服單中發現。
payload 會標示使用者與應用程式、當前限制、回收前的授權數,以及被撤銷的授權 ID。完整結構請參閱 Grant.LimitExceeded payload。
常見應用場景:
- 通知使用者其在其他裝置被登出,並標示來源。
- 將裝置回收率納入分析,判斷設定的限制是否過低。
- 標記單一使用者出現異常回收模式,作為憑證共用或帳號盜用的可能徵兆。
前往 Console > Webhooks 訂閱,或透過 Management API 建立 webhook。設定詳情請參閱 Webhooks。
相關資源 (Related resources)
工作階段 (Sessions) 管理使用者工作階段 (Manage user sessions) 管理使用者授權應用程式 (grants)應用程式資料結構:maxAllowedGrants
Webhooks 事件:例外 hook 事件
與 Management API 互動