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)