SMS 連接器 (SMS connectors)
設定 SMS 連接器可以將一次性密碼 (OTPs, one-time passwords) 發送到使用者的手機號碼。這種無密碼驗證 (Authentication) 機制可應用於多種情境,包括註冊、登入、忘記密碼、帳號連結流程、成員邀請以及驗證使用者身分。這能簡化使用者驗證 (Authentication) 流程,並透過降低密碼相關風險來提升安全性。
選擇你的 SMS 連接器
透過 Logto 的逐步指引,連接你偏好的 SMS 服務供應商。
我們現成支援以下 SMS 服務供應商:
Twilio 短訊服務的官方 Logto 連接器。
SMSAero 短訊服務的官方 Logto 連接器。
GatewayAPI SMS 的官方 Logto 連接器。
Vonage SMS 的官方 Logto 連接器。
阿里雲短訊服務的官方 Logto 連接器。
騰訊短訊服務的官方 Logto 連接器。
如需其他 SMS 供應商,請使用我們的 HTTP SMS 連接器,透過 HTTP API 整合任意服務。
透過 HTTP 呼叫發送 SMS。
若標準連接器無法滿足你的特殊需求,歡迎聯絡我們。若你是 OSS 用戶,且需求緊急,也可自行實作連接器 (OSS)。我們也非常歡迎貢獻;你的努力也許能幫助其他有相同需求的社群成員。
設定步驟
請依下列步驟新增 SMS 連接器:
- 前往 Console > Connector > Email and SMS connectors。
- 點擊「Set up」按鈕並選擇你想要的 SMS 供應商以新增連接器。
- 閱讀你選擇供應商的 README 文件。
- 在「Parameter Configuration」區段填寫必要欄位。
- 使用 JSON 編輯器自訂 SMS 範本。
- 透過「Generic」範本發送驗證碼到你的手機,測試設定是否正確。
- 點擊「Save and Done」完成設定。
更換 SMS 連接器
若要更換其他 SMS 連接器:
- 進入連接器詳細頁,點擊右上角的「Change connector」
- 或刪除現有連接器後再新增新的連接器
注意:你一次只能啟用「一個」SMS 連接器。
當你已經有一個 SMS 連接器時,只能選擇「更換 SMS 連接器」。在 Console 執行此操作時,儲存後會立即生效,請務必先測試設定再儲存。
為確保服務穩定,Cloud 用戶可建立開發租戶 (dev tenant) 作為開發環境。測試無誤後,將設定「遷移」到正式環境 (production) 並儲存。
啟用終端用戶流程的手機號碼
新增並設定 SMS 連接器後,你可以啟用基於手機號碼的驗證 (Authentication) 流程:
- 設定註冊方式:前往 Sign-in & account > Sign-up and sign-in。在註冊區段,新增「手機號碼」或「電子郵件地址或手機號碼」作為識別子。注意:註冊時必須驗證手機號碼。
- 設定登入方式:在登入區段,新增「手機號碼」作為登入方式。可選擇密碼或 SMS 驗證碼進行驗證 (Authentication)。點擊「Add another」可新增其他選項。
- 設定忘記密碼:在登入區段,若啟用密碼登入,將看到「Forgot password」設定。啟用「Phone verification code」即可讓使用者透過 SMS 重設密碼。
- 設定 SMS 作為 MFA:前往 Console > Multi-factor auth。啟用「SMS verification code」作為第二驗證因素,提升安全性。
- 設定帳號管理:使用 Account API 自訂你的帳號中心,讓使用者管理手機號碼。
由於我們的設定會立即生效,刪除現有 SMS 連接器可能會影響終端使用者的正常登入與註冊流程。
例如,若登入識別子包含「手機號碼 + 驗證碼」組合,刪除現有 SMS 連接器後,使用者將無法透過電子郵件收到驗證碼,登入流程也會出現錯誤。
請操作連接器時務必注意潛在風險。
常見問題
Logto 沒有我想用的 SMS 連接器,該怎麼辦?
我們仍在持續開發更多連接器。如果你需要更多選項,請在 Discord 告訴我們你的需求,並在 GitHub 提交功能請求。如果需要進一步協助,也可以透過電子郵件聯絡我們。
對於開源 Logto 用戶,我們提供易於擴充的連接器開發方式,讓你能根據自身情境自訂連接器。我們也歡迎你提交 pull request,讓社群其他人也能受益於你的貢獻。