跳至主要內容

設定 Webhook

在 Logto Console 中設定 Webhook,以實現無縫整合並接收應用程式的即時事件通知。享受簡單的設定、增強的安全性和便利的健康狀態監控選項。

建立 Webhook

首先,建立一個將由 Logto Agent 呼叫的 Webhook 端點。此端點應在你的伺服器上實作,並能夠接收 HTTP 請求。

要在 Logto Console 中建立新的 Webhook,請按照以下步驟進行:

  1. 建立 Webhook:導航至 Console > Webhooks,然後點擊「Create webhook」按鈕。

  2. 名稱:為 Webhook 提供一個名稱,這是為了方便你定義使用情境。

  3. Endpoint URL:輸入 Endpoint URL,即當事件發生時將接收 Webhook POST 請求的伺服器 URL。出於安全考量,該 URL 必須能透過 HTTPS 公開存取,且不應為本地主機 URL。

    備註:

    你的伺服器應在接收到 Logto Webhook 請求後立即以 HTTP 200(「OK」)回應,以通知請求已被接收。

    等待對應的 Webhook 事件邏輯處理完成後再回應可能會導致 Webhook 超時。

    請勿向 Logto Webhook 返回 200 以外的回應。如果在處理事件時發生錯誤,請在你的伺服器上自行處理。

  4. 事件:在出現的模態中,選擇將觸發此 Webhook 的 事件。建議選擇符合需求的較少數事件,以避免伺服器接收過多請求。建立 Webhook 後,你可以隨時更改選定的事件。

    Create webhook
  5. 停用 / 啟用:預設情況下,Webhook 在建立後會立即啟用。如果你想暫時暫停 Webhook,可以在建立後使用位於標題右上角的「三點」選單來停用或重新啟用它。

保護 Webhook

當你的伺服器準備好接收 Webhook 請求後,你可能希望確保它能安全地處理請求。Logto 為每個 Webhook 請求負載生成一個簽名,這使你能夠驗證請求來自 Logto。

建立新的 Webhook 後,你有以下選項來增強其安全性:

  • 簽名金鑰:Logto 為每個 Webhook 生成一個唯一的哈希簽名,稱為簽名金鑰。你可以在端點實作中將此金鑰作為請求標頭包含。驗證簽名金鑰可確保 Webhook 負載來自 Logto,且未被未授權來源篡改。閱讀 保護你的 Webhook 以了解更多代碼。
  • 自訂標頭:你可以選擇在 Webhook 負載中包含自訂標頭,以提供額外的上下文或元數據。此功能允許你添加相關資訊,以有效地處理 Webhook 資料。

透過使用簽名金鑰並考慮包含自訂標頭,你可以增強 Webhook 的安全性,確保接收到的負載的完整性和真實性。

測試 Webhook

要測試 Logto 與你的服務之間的連接,只需點擊「Send test payload」按鈕。Logto 將為每個選定的事件向你的 Endpoint URL 發送一個範例負載。這些測試請求包含匿名資料,且不會記錄在最近的請求歷史中。

此測試可確保你的 Webhook 已正確設置,以接收和處理來自 Logto 的負載。它允許你在將 Webhook 部署到實際環境之前驗證整合。

監控 Webhook 健康狀態

Logto 提供便利的工具來監控你的 Webhook 健康狀態,並詳細調查任何潛在問題:

  • 健康狀態 Logto 中的 Webhook 列表顯示每個 Webhook 的健康狀態,包括過去 24 小時內的成功率和請求總數。此資訊為你提供 Webhook 性能的概覽。
  • 獨立請求日誌 在每個 Webhook 的「Recent Requests」部分,你可以訪問過去 24 小時的請求日誌。每個請求都單獨記錄,允許你查看每個請求的詳細資訊,並調查任何潛在的錯誤或異常。
  • 自動重試 如果發生傳遞失敗(當 Webhook 回應狀態大於或等於 500 時),Logto 會自動重試傳遞最多三次。請放心,對同一請求的多次重試只會生成一個日誌條目,避免不必要的重複。

透過利用這些監控功能,你可以有效地追蹤 Webhook 的健康狀態,檢查請求日誌,並確保 Webhook 整合的可靠性和性能。