認証

概要

Tobi では JWT 形式のアクセストークンを Sora の "type": "connect" 時の metadatatobi_access_token を含めて認証を行います。

metadata

type: connnectmetadata"tobi_access_token": "<JWT>" を含めます。

{
    "type": "connect",
    "role": "sendrecv",
    "channel_id": "[email protected]#1490",
    "multistream": "true",
    "metadata": {
        "tobi_access_token": "<JWT>"
    }
}

JWT 仕様

typ:

JWT

alg:

HS256

JWT 利用の注意点

Tobi で利用する特定のトークンの Revoke する方法は API キーを再生成するしか方法がありません。 そのため、本番環境向けには必ず nbf / exp を付けて短い時間しか利用できないトークンを発行するようにしてください。

Tobi の認証では JWT 的なチェックのみで iss の存在有無などはチェックしたりは行いません。

認証ウェブフックを設定し、アプリ側でのチェックを行うようにしてください。

利用可能な登録済みクレーム

exp

クレーム:

exp

:

integer

要求:

オプション

RFC:

4.1.4. "exp" (Expiration Time) Claim

トークンが利用できるまでの時間を指定できます。

nbf

クレーム:

exp

:

integer

要求:

オプション

RFC:

4.1.5. "nbf" (Not Before) Claim

トークンが利用可能になる時間を指定できます。

iat

クレーム:

iat

:

integer

要求:

オプション

現時点では指定できますが、Tobi 側で何か処理を行うことはしません。

jti

クレーム:

jti

:

string

要求:

オプション

現時点では指定できますが、Tobi 側で何か処理を行うことはしません。

オプションプライベートクレーム

channel_id

危険

channel_id クレーム を指定しない場合すべてのチャネルにアクセス可能になるため、本番環境では channel_id クレーム を指定する実装にしてください。

クレーム:

channel_id

:

string

要求:

オプション

channel_id クレームが含まれていた場合、Tobi が認証時に channel_id と一致しているかどうかを確認します。

role

クレーム:

role

:

string

要求:

オプション

role クレームが含まれていた場合、Tobi が認証時に role と一致しているかどうかを確認します。

指定可能な文字列は sendrecv / recvonly / sendonly です。

max_channel_connections

クレーム:

max_channel_connections

:

integer

要求:

オプション

認証時にチェックするチャネルの最大接続数を指定できます。

sora_auth_webhook_url

クレーム:

sora_auth_webhook_url

:

string

要求:

オプション

注意

チームに設定されている Sora 認証ウェブフックを上書きします。

Sora 認証ウェブフックの通知先 URL を指定します。

接続したチャネルに対して設定が反映され、後の接続が上書きすることも可能です。

sora_sessoin_webhook_url

クレーム:

sora_sessoin_webhook_url

:

string

要求:

オプション

注意

チームに設定されている Sora セッションウェブフックを上書きします。

Sora セッションウェブフックの通知先 URL を指定します。

接続したチャネルに対して設定が反映され、後の接続が上書きすることも可能です。

sora_event_webhook_url

クレーム:

sora_event_webhook_url

:

string

要求:

オプション

注意

チームに設定されている Sora イベントウェブフックを上書きします。

Sora イベントウェブフックの通知先 URL を指定します。

接続したチャネルに対して設定が反映され、後の接続が上書きすることも可能です。

tobi_webhook_url

クレーム:

tobi_webhook_url

:

string

要求:

オプション

注意

チームに設定されている Tobi のウェブフックを上書きします。

Tobi のウェブフックの通知先 URL を指定します。

接続したチャネルに対して設定が反映され、後の接続が上書きすることも可能です。

参考

© Copyright 2022, Shiguredo Inc. Created using Sphinx 5.0.0