跳至主要內容

設定 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 整合的可靠性和性能。