設定 Webhook
在 Logto Console 設定 Webhook,實現無縫整合並即時接收應用程式的事件通知。享受簡易設定、強化安全性與便利的健康狀態監控選項。
建立 Webhook
首先,建立一個將由 Logto Agent 呼叫的 Webhook 端點。此端點需實作於你的伺服器上,並能夠接收 HTTP 請求。
在 Logto Console 建立新 Webhook,請依照下列步驟:
-
建立 Webhook:前往 Console > Webhooks,點擊「建立 Webhook」按鈕。
-
名稱:為 Webhook 命名。此名稱僅供你自行參考與定義使用情境。
-
端點 URL:輸入
Endpoint URL,即你的伺服器在事件發生時接收 Webhook POST 請求的 URL。為安全起見,該 URL 必須可透過 HTTPS 公開存取,且不可為本地主機 URL。備註:你的伺服器應在收到 Logto Webhook 請求後立即回應 HTTP 200("OK"),以通知已收到請求。
等待對應 Webhook 事件的邏輯處理完成後才回應,可能導致 Webhook 請求逾時。
請勿對 Logto Webhook 回傳 200 以外的回應。如事件處理過程發生錯誤,請於你自己的伺服器上處理。
-
事件:在彈出視窗中,選擇會觸發此 Webhook 的 事件。建議僅選擇符合需求的少量事件,以避免伺服器接收過載。Webhook 建立後可隨時變更已選事件。
-
停用 / 啟用:預設情況下,Webhook 於建立後立即啟用。若需暫時停用,可於建立後,點擊標題右上角的「三點」選單進行停用或重新啟用。
強化 Webhook 安全性
當你的伺服器已準備好接收 Webhook 請求時,你可能希望確保其能安全處理請求。Logto 會為每個 Webhook 請求內容產生簽章,讓你驗證請求確實來自 Logto。
建立新 Webhook 後,你可採取以下措施提升安全性:
- 簽章金鑰 (Signing key):Logto 為每個 Webhook 產生唯一雜湊簽章(Signing Key)。你可在端點實作中將此金鑰作為請求標頭驗證。驗證簽章金鑰可確保 Webhook 載荷來自 Logto,且未遭未授權來源竄改。詳情請參閱保護你的 Webhook。
- 自訂標頭 (Custom header):你可選擇在 Webhook 載荷中加入自訂標頭,以提供額外的上下文或中繼資料。此功能可協助你更有效處理 Webhook 資料。
善用簽章金鑰與自訂標頭,可提升 Webhook 的安全性,確保接收載荷的完整性與真實性。
測試 Webhook
要測試 Logto 與你的服務之間的連線,只需點擊「傳送測試載荷」按鈕。Logto 會針對每個已選事件,向你的端點 URL 傳送一個範例載荷。這些測試請求包含匿名資料,且不會記錄於近期請求歷史中。
此測試可確保你的 Webhook 已正確設定,能接收並處理來自 Logto 的載荷。讓你在正式部署 Webhook 前先驗證整合狀態。
監控 Webhook 健康狀態
Logto 提供便利工具,協助你監控 Webhook 健康狀態並深入調查潛在問題:
- 健康狀態 Logto 的 Webhook 清單會顯示每個 Webhook 的健康狀態,包括過去 24 小時的成功率與請求總數。這些資訊可讓你快速掌握 Webhook 的運作狀況。
- 獨立請求紀錄 在每個 Webhook 的「近期請求」區塊,你可查閱過去 24 小時的請求紀錄。每筆請求皆獨立記錄,方便你檢視細節並調查潛在錯誤或異常。
- 自動重試
若傳送失敗(Webhook 回應狀態大於等於 500),Logto 會自動重試最多三次。請放心,同一請求的多次重試僅產生一筆紀錄,避免不必要的重複。所有重試請求的載荷皆帶有相同的
deliveryId,因此你的端點可略過已處理過的傳送。
善用這些監控功能,你可有效追蹤 Webhook 健康狀態、檢視請求紀錄,並確保 Webhook 整合的可靠性與效能。