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