ユーザートークンを検証する
注釈:本資料はAI技術を用いて翻訳されています。
Overview
AccelByte Gaming Services (AGS) を利用するカスタムサービスを作成する際、何らかのアクションを実行する前にユーザートークンを検証する必要がある場合があります。これは、AccelByte Extend SDK のトークン検証関数を使用して行えます。
AccelByte Extend SDK には、remote と local の 2 種類のトークン検証方法があります。remote トークン検証では、トークン検証が要求されるたびに AGS のエンドポイントが呼び出されます。一方、local トークン検証では、AccelByte Extend SDK によってローカルにキャッシュされた JWKS と失効リストに対してトークンが検証されます。これら 2 つの方法の違いは、local トークン検証は remote トークン検証よりも高速な場合がありますが、ローカルにキャッシュされた失効リストが更新されるまで誤った結果が返される可能性がある点です。デフォルトでは remote トークン検証が使用されます。
AccelByte Extend SDK は複数のプログラミング言語で利用できます。ここでは、remote トークン検証を使用して Go Extend SDK でユーザートークンを検証する方法を紹介します。
Goals
このガイドでは、以下を行います。
- Validator パッケージをインポートする
- Go Extend SDK を使用してユーザートークンを検証する
Prerequisites
このガイドを始めるには、以下が必要です。
-
Go 1.16 以降がインストールされていること
-
AGS デモ環境へのアクセス権を取得していること
AB_BASE_URL環境変数にはhttps://prod.gamingservices.accelbyte.ioを使用します。- OAuth クライアントを作成するガイドの手順に従い、
confidentialクライアントタイプを使用します。Client IDとClient SecretをそれぞれAB_CLIENT_IDとAB_CLIENT_SECRET環境変数として使用します。
-
Go Extend SDK をプロジェクトの依存関係として追加していること。詳細はExtend SDK を使い始めるを参照してください。
-
Validator パッケージをインポートし、ユーザートークンを検証する
import セクションに以下を追加します。
import (
...
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/utils/auth/validator"
...
) -
Go Extend SDK を使用してユーザートークンを検証する
トークンバリデーターを初期化し、
Validate関数を使用してユーザートークンを検証します。tokenValidator := validator.NewTokenValidator(authService, time.Hour)
tokenValidator.Initialize()
err = tokenValidator.Validate(accessToken, &requiredPermission, &namespace, nil)
-
Next steps
localトークン検証を試してみることを検討してください。ローカルトークン検証を有効にする方法の説明を参照してください。
Resources
- Go Extend SDK のより高度な使用方法については、READMEを参照してください。