プロジェクト アクセストークン API

概要

この API では、プロジェクトの API キーを利用してそのプロジェクトの JWT を作成できます。

API を使わない JWT 生成

Sora Cloud の認証で利用するアクセストークンは JWT (JSON Web Token) を採用しています。 そのため、このアクセストークン API を利用しなくても、プロジェクトの API キーを使ってアクセストークンを生成することができます。

Sora Cloud API を利用できる環境では API キーをすでに保持しており、アクセストークン API を利用せずに JWT を生成することが可能です。 そのため、ネットワークを経由したアクセストークン API 実行による JWT 生成を利用せずに、アプリケーション側で JWT を素早く生成する構成を推奨しています

JWT の詳細仕様と生成例については 認証 をご確認ください。

アクセストークン生成

API URL

https://api.sora-cloud.shiguredo.app/projects/create-access-token

アクセストークンを指定できます。

すべての指定はオプションです。

channel_id

オプション

:

string

Sora のチャネル ID を指定します。

チャネル ID は <チャネル名>@<プロジェクト ID> です。 チャネル名には好きな文字列を指定可能です。

role

オプション

:

string

Sora のロール (sendrecv / sendonly / recvonly) を指定します。

max_channel_connections

オプション

:

integer

範囲:

0-5000

チャネルの最大同時接続数を指定します。この設定は接続単位で影響します。

例えばこの設定が 1 のトークンを利用した接続はチャネルに 1 接続以上存在する場合は接続ができなくなります。

また、この設定が 0 のトークンを利用した場合、必ず接続に失敗します。

not_before

オプション

:

RFC 3339

URL:

JWT nbf

JWT が有効になる日時を指定します。数値ではなく RFC 3339 フォーマットで指定してください。

expiration_time

オプション

:

RFC 3339

URL:

JWT exp

JWT の有効期限を指定します。数値ではなく RFC 3339 フォーマットで指定してください。

jwt_id

オプション

:

string (UUID)

URL:

JWT jti

jwt_id を指定する場合は UUID を指定する必要があります。

jwt_id を指定しなくても自動で UUID を生成し jti Claim を付与して JWT を生成します。

実行例

$ https -A bearer -a <API-KEY> \
    POST api.sora-cloud.shiguredo.app/projects/create-access-token \
    channel_id=<Channel-ID> \
    -vvv

POST /projects/create-access-token HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Authorization: Bearer <API-KEY>
Connection: keep-alive
Content-Length: 60
Content-Type: application/json
Host: api.sora-cloud.shiguredo.app
User-Agent: HTTPie/3.2.0

{
    "channel_id": "<Channel-ID>"
}

HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 375
Content-Type: application/json; charset=UTF-8
Date: Thu, 21 Dec 2023 09:35:10 GMT
Strict-Transport-Security: max-age=15552000; includeSubDomains; preload
Vary: Accept-Encoding
alt-svc: h3=":443"; ma=86400

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6I..."
}

アクセストークンに有効期限を設定する場合の実行例

$ https -A bearer -a <API-KEY> \
    POST api.sora-cloud.shiguredo.app/projects/create-access-token \
    channel_id=<Channel-ID> \
    not_before='2022-10-20T10:00:00+09:00' \
    expiration_time='2023-10-27T10:00:00+09:00' \
    -vvv

アクセストークンに最大同時接続数を設定する場合の実行例

$ https -A bearer -a <API-KEY> \
    POST api.sora-cloud.shiguredo.app/projects/create-access-token \
    channel_id=<Channel-ID> \
    max_channel_connections:=10 \
    -vvv
© Copyright 2024, Shiguredo Inc. Created using Sphinx 9.1.0