認証方式
Custom エンドポイントへの配信時、受信側で正規の Recho からの通知であることを検証するために、3 種類の認証方式から選択できます。
備考
Slack / Teams / Email は対応エンドポイント自体が認証情報を含む URL / アドレスなので、本機能は Custom 限定です。
NONE(認証なし)
認証ヘッダや署名なしで送信されます。受信側の URL を秘匿していて推測困難な場合などに利用してください。
警告
本番運用では他方式の採用を推奨します。
BEARER(Bearer トークン)
ダッシュボードで生成したトークンを、リクエストの Authorization ヘッダにセットして送信します。
リクエストヘッダ例
Authorization: Bearer <your-token>
Content-Type: application/json
受信側の検証
- 事前にエンドポイントに登録したトークンと一致するか比較
- 不一致なら
401で拒否
トークン管理
- 登録: Webhook 設定ページの認証情報ダイアログ
- 表示: 一度作成すれば再表示可能(マスキング解除でコピー可)
- 更新・削除: 同ダイアログから
SIGNATURE_RSA_SHA256(RSA 署名検証)
Recho 側で生成した秘密鍵で署名し、対応する公開鍵を受信側で検証する方式。Bearer トークンより漏洩リスクが低く、推奨される方式です。
リクエストヘッダ例
X-Recho-Signature: <base64-encoded-signature>
X-Recho-Timestamp: <unix-epoch-seconds>
Content-Type: application/json
受信側の検証手順
- 署名対象文字列を組み立てる:
<timestamp> + "." + <raw-body> - 事前に登録した公開鍵で RSA-SHA256 署名検証 を実行
- タイムスタンプが許容ウィンドウ内(5 分以内など)であることを確認(リプレイ攻撃対策)
- いずれかが不正なら
401で拒否
公開鍵管理
- 登録: 認証情報ダイアログで公開鍵を確認・コピー
- 表示: 公開鍵は秘匿情報ではないので常に表示可能
- ローテーション: 鍵を更新すると新しい公開鍵が発行されます
推奨
- 本番運用では SIGNATURE_RSA_SHA256 を強く推奨
- 簡易な検証で十分な場合は BEARER。トークンは安全に保管・定期ローテーション
- NONE は社内ネットワーク内など限定的な用途で