ウェブフック

概要

Tobi では Sora のウェブフックを利用可能です。指定した URL にウェブフックリクエストを飛ばします。

制限

1 チーム 1 ウェブフック URL

ウェブフックの通知先 URL は 1 チーム辺りそれぞれのウェブフックにつき 1 一つずつです。

JWT による指定

JWT を利用する事でウェブフックをチーム単位で設定された値以外に通知することが可能になります。

JWT で以下のクレーム指定することでチームに設定されているウェブフック以外が利用されます。

  • sora_auth_webhook_url

  • sora_session_webhook_url

  • sora_event_webhook_url

  • tobi_webhook_url

タイムアウト

ウェブフックのタイムアウトは 10 秒です。これを超えた場合は通知側から切断を行います。 あからさまにタイムアウトが多い場合は一時的にウェブフックでの通知を停止する場合があります。

タイムアウトした場合は認証処理はエラーとして返します。

Sora 認証ウェブフック

認証ウェブフック

戻りのステータスコードは 200 OK を期待します。

払い出し可能な項目

  • client_id

  • bundle_id

  • audio

  • video

  • data_channel_signaling

  • ignore_disconnect_websocket

  • data_channels

  • metadata

  • event_metadata

  • simulcast

  • simulcast_rid

  • simulcast_encodings

  • spotlight

  • spotlight_number

  • spotlight_encodings

  • user_agents_stats

  • h264_profile_level_id

  • turn_tcp_only

  • turn_tls_only

Sora セッションウェブフック

セッションウェブフック

戻りのステータスコードは 200 OK を期待します。

Sora イベントウェブフック

イベントウェブフック

戻りのステータスコードは 200 OK を期待します。

Tobi ウェブフック

注意

これはまだ検討中です

戻りのステータスコードは 200 OK を期待します。

recording-archive.uploaded (仮)

注意

これはまだ開発中です、正式版までには利用可能になります

Tobi が録画ファイルとメタデータファイルのアップロードが完了した際に通知します。

recording-report.uploaded (仮)

注意

これはまだ開発中です、正式版までには利用可能になります

Tobi が録画レポートファイルのアップロードが完了した際に通知します。

sora-auth-webhook.failed (仮)

注意

これはまだ検討中です

tobi が認証に失敗した場合に通知します。

tobi は認証成功時にしか認証ウェブフックのリクエストを転送しません。

ウェブフックの IP アドレス

Tobi のウェブフックは Cloudflare Wokers を利用して実現しています。

そのため Cloduflare の IP アドレス範囲 からウェブフックを通知します。

署名

Tobi が通知する Sora のウェブフックのヘッダーにはそのウェブフックの署名が付与されています。

ヘッダー名 Tobi-Signature にそのウェブフックの生成時間と JSON ペイロードに対する署名が入っています。

署名の検証

t:

タイムスタンプ

v1:

署名

Tobi-Signature:
t=1692774577,
v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd

署名ペイロード

  • タイムスタンプ (文字列)

  • 文字 .

  • JSON ペイロード (リクエストボディ)

署名疑似コード:

signature = hmac(sha256, api_key, "<Timestamp>.<JSON>").hexgiest()

signature と v1 の値を比較することで署名の検証が可能になります。

© Copyright 2022, Shiguredo Inc. Created using Sphinx 5.0.0