3. ID Tokenによるユーザーの検証

ID TokenはいわゆるJWT形式のTokenです。Tokenリクエストで取得したID Tokenをユーザーへ渡し、ゲームサーバとの間のログインに利用することを想定してます。

HeaderにあるkidとMetadata APIから取得できる証明書を使って、Tokenの検証が可能です。

header
{
"alg": "RS256",
"kid": "1",
"typ": "JWT"
}

Payloadには以下の値が含まれます。

payload
{
"aud": [
"https://bravefrontierheroes.com"
],
"exp": 1584835200,
"iat": 1584321456,
"iss": "MCH+",
"sub": "0xd868711bd9a2c6f1548f5f4737f71da67d821090"
}

audは、利用を想定されるサービスURLが含まれます。自サービス宛のトークンかどうかの検証を行ってください。exp, iatはトークンの生存期間です。 subに、ユーザーのETHアドレスが入っています。これを用いてサービスのユーザーIDとの紐付けを行うことが可能です。