跳至主要內容

使用者名稱政策 (Username policy)

Logto 始終強制執行一組基本的使用者名稱規則:使用者名稱僅能包含字母、數字與底線(_),不得以數字開頭,且長度不得超過 128 個字元。在此基礎上,你可以設定使用者名稱政策,進一步限制終端使用者可選擇的使用者名稱,例如:使使用者名稱不區分大小寫、縮小長度範圍,或限制允許的字元類型。

Logto 會根據使用者名稱的建立或更新方式,以不同方式套用使用者名稱政策:

  • 終端使用者流程(如 內建登入體驗Account APIAccount Center)始終強制執行目前的使用者名稱政策。使用者會在使用者名稱頁面看到政策要求,若輸入的使用者名稱違反政策,會即時收到錯誤提示。
  • 透過 Management API 執行的管理員操作(例如 POST /api/users)則不受政策限制,只套用基本規則,讓你在需要時可不經政策檢查進行使用者佈建或遷移。

更新政策不會修改或使現有使用者名稱失效:即使現有使用者名稱不再符合新政策,使用者仍可繼續以原有名稱登入。

設定使用者名稱政策

設定使用者名稱政策,請依下列步驟操作:

  1. 前往 Console > 登入與帳號 > 註冊與登入 (Sign-up and sign-in) 頁面。
  2. 進階選項 (Advanced options) 區塊,點擊 管理 (Manage)使用者名稱政策 (Username policy) 欄位。

可設定的選項如下:

  1. 區分大小寫 (Case sensitive):是否將僅大小寫不同的使用者名稱(如 Alicealice)視為不同名稱。預設啟用。若停用,使用者可用任意大小寫登入,且新名稱若與現有名稱不區分大小寫時會被拒絕。
  2. 長度 (Length):設定允許的最小與最大字元數,範圍為 1 至 128(依基本規則)。
  3. 允許字元 (Allowed characters):選擇可包含的字元類型:大寫字母(A-Z)、小寫字母(a-z)、數字(0-9)、底線(_)。至少需啟用大寫字母、小寫字母或底線其中之一,因為基本規則不允許使用者名稱以數字開頭。

切換為不區分大小寫的使用者名稱

將現有租戶從區分大小寫切換為不區分大小寫的使用者名稱時,必須確保不存在兩個名稱在不區分大小寫時相同(例如 Alicealice 屬於不同使用者)。若存在此類衝突,儲存政策時會被 409 錯誤拒絕。

當你在 Console 關閉 區分大小寫 (Case sensitive) 時,Logto 會主動檢查並列出衝突的使用者名稱,讓你在儲存前先行處理(如重新命名或移除其中一個帳號)。你也可以直接透過 GET /api/sign-in-exp/username-policy/case-sensitivity-conflicts 查詢衝突。

使用者資料:使用者名稱 (User data: username)

電子郵件 / 電話 / 使用者名稱註冊 (Email / phone / username sign-up)

密碼政策 (Password policy)