開発者ドキュメントユーザーガイド認証・認可SkyWay Admin Auth Token(SkyWay Channel API, SkyWay Recording API用)

SkyWay Admin Auth Token

SkyWay Admin Auth Tokenは、SkyWay Channel APIやSkyWay Recording APIなどのアプリケーションの管理者(サーバー)用APIを利用する際に必要な、認証のためのトークンです。

トークン検証の際、ペイロードに記載された有効期限確認が行われます。

本トークンをクライアントアプリケーションに提供しないよう注意してください。管理者(サーバー)用APIを利用されてしまう恐れがあります。

形式

SkyWay Admin Auth TokenはJWT形式です。

ペイロード部は以下の通りです。

クレーム必須形式説明
iat✔️UNIX タイムスタンプトークンが発行された日時
jti✔️string (UUID v4)トークンのユニークな id
exp✔️UNIX タイムスタンプこのトークンが無効になる時間を表すタイムスタンプ
appId✔️string(UUID v4)アプリケーションID

iat はトークンが発行された日時を示します。検証されるタイミングより後の時刻が iat として指定されているとエラーになります。ただし、時刻同期のズレを考慮して +2分 まで許容されます。

jti は、トークンを一意に識別するための値です。トークン生成時に UUID v4 を生成し、設定する必要があります。

exp は、このトークンが無効になる時間を表すタイムスタンプです。この値を過ぎた時刻において、このトークンを用いたリクエストは失敗します。iat で示した時刻から +3日 を超えた時刻を設定するとエラーになります。

{ "iat": 1706754878, "jti": "ba51311f-599d-47ca-a51d-df371fa750e7", "exp": 1706854878, "appId": "ac8adbc8-a2ff-4c41-9f5e-fdaed5e1e65e" }

作成方法の例

Node.jsでの作成方法を以下に示します。

const jwt = require("jsonwebtoken"); const crypto = require("crypto"); const payload = { iat: Date.now() / 1000, jti: crypto.randomUUID(), exp: Date.now() / 1000 + 60 * 60 * 24 * 3, appId: "アプリケーションIDを記載します", }; const SECRET_KEY = "シークレットキーを記載します"; const token = jwt.sign(payload, SECRET_KEY); console.log(token)