ユーザートークンを検証する
注釈:本資料はAI技術を用いて翻訳されています。
概要
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 でユーザートークンを検証する方法を説明します。
目標
このガイドでは、以下を行います:
- Validator パッケージをインポートする
- Go Extend SDK を使用してユーザートークンを検証する
前提条件
このガイドを開始するには、以下が必要です:
-
Go 1.16 以降がインストールされていること
-
AGS デモ環境へのアクセス権を取得していること:
AB_BASE_URL環境変数にはhttps://prod.gamingservices.accelbyte.ioを使用します。confidentialクライアントタイプを使用して、OAuth クライアントの作成ガイドの手順に従います。Client IDとClient SecretをそれぞれAB_CLIENT_IDとAB_CLIENT_SECRET環境変数に使用します。
-
プロジェクトの依存関係として Go Extend SDK を追加している必要があります。詳細については、Extend SDK の使用を開始するを参照してください。
-
Validator パッケージをインポートし、ユーザートークンを検証する
インポートセクションに以下を追加します。
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)
-
次のステップ
localトークン検証を試すことを検討してください。ローカルトークン検証を有効にする方法の手順を参照してください。
リソース
- Go Extend SDK のより高度な使用方法については、README を参照してください。