New user account integration
注釈:本資料はAI技術を用いて翻訳されています。
概要
ユーザーの登録とログインを許可する前に、新しいアカウントに対して以下を設定する必要があります:
- 許容されるユーザー情報(ユーザー名、パスワード、メールアドレスなど)
- 使用する登録フロー
- プラットフォームにアクセスするための最小ユーザー年齢
- ユーザーがプラットフォームにアクセスする前の法的合意
- プラットフォームで許可されるサードパーティログイン
この記事では、AccelByte Gaming Services (AGS) ゲームの新規ユーザーアカウント作成のためにこれらを統合する方法に関する情報とリソースを提供します。
IAM 入力検証(ユーザー情報)
ユーザーがフルアカウントで使用するユーザー名、表示名、パスワード、メール、アバターの検証をカスタマイズできます。詳細については、入力検証を参照してください。
年齢制限
特定の年齢未満のユーザーのアカウント作成を防ぐことができます。詳細については、年齢制限を参照してください。
法的合意
利用規約(ToS)、プライバシーポリシー、エンドユーザーライセンス契約(EULA)、マーケティング設定などの法的文書を設定し、ユーザーが登録時に同意して遵守できるようにする必要があります。詳細については、法的合意を参照してください。
必須メール認証
必須メール認証を有効にして、ユーザーが登録前にメールアドレスを認証するよう強制したり、登録後に認証を許可したりできます。詳細については、必須メール認証を参照してください。
サードパーティログイン
ユーザーがサードパーティアカウントを使用してゲームやウェブサイトにログインできるようにすることができます。詳細については、認証セクションの各プラットフォームのガイドを参照してください。
統合
これらのセクションの情報を使用して、アカウント登録の統合を支援します。
ウェブアプリケーション
AGS Web SDKを使用して、AGS APIをウェブアプリケーションに統合できます。
登録フロー
-
まず、PublicGetInputValidations APIを使用して入力検証を取得する必要があります。これは、ユーザーが登録する際のユーザー入力を検証するために使用されます。
-
GetCountryLocationV3 APIを使用してユーザーの国を取得します。国データを使用して、PublicGetCountryAgeRestrictionV3を呼び出し、特定の国の年齢制限を確認できます。
-
必須メール認証の設定に応じて、異なる登録フローを使用できます。
- 必須メール認証が有効
- 必須メール認証が無効
-
ユーザーはメールアドレスを入力し、PublicSendRegistrationCode APIを使用してメールに認証コードを送信する必要があります。
-
ユーザーは自分の側で認証コードを受け取ります。
-
ユーザーは、メール受信箱で受け取った認証コードを
codeフィールドに入力する必要があります。 -
ユーザーが必要なフィールドをすべて入力したら、PublicCreateUserV4 APIを使用してユーザーを作成します。
-
ユーザーが正常に登録されたら、メールアドレスとパスワード入力を使用してアカウントログインフローを実行できるため、登録後に自動的にログインされます。
-
ユーザーは
codeフィールドに入力する必要はありません。 -
ユーザーが必要なフィールドをすべて入力したら、PublicCreateUserV4 APIを使用してユーザーを作成します。
-
ユーザーが正常に登録されたら、メールアドレスとパスワード入力を使用してアカウントログインフローを実行できるため、登録後に自動的にログインされます。
ログインフロー
-
まず、AuthorizeV3 APIを呼び出して
request_idを取得する必要があります。クライアント認証情報を使用して基本認証を設定します。 -
request_idを取得したら、ユーザーの認証を続行できます。ユーザー認証には、アカウントログインとサードパーティログインの2つのログインオプションがあります。
- アカウントログイン
- サードパーティログイン
-
PublicGetInputValidations APIを使用して入力検証データを取得します。
-
ユーザーはユーザー名またはメールアドレスとパスワードを入力する必要があります。前のステップの入力検証データを使用してユーザー入力を検証できます。ユーザー名またはメールが間違った形式を使用している場合、入力を調整する前にログインボタンを無効にして続行を防ぐことができます。
-
ユーザー入力が有効な形式を使用している場合、ユーザーはログインをクリックできます。AuthenticateV3 APIを呼び出す必要があります。
user_name: ユーザー名またはメールアドレスを指定できますpassword: パスワードrequest_id: 前のセクションのrequest_idを使用します
-
ブラウザは、前のAuthorizeV3リクエストの
redirect_uriに基づいてリダイレクトされます。- 成功した場合、リダイレクトURIにはクエリパラメータとして
codeが含まれます。 - ログインが失敗した場合、
redirect_uriにユーザーをリダイレクトし、クエリパラメータとしてエラーの詳細が含まれます。
- 成功した場合、リダイレクトURIにはクエリパラメータとして
-
TokenGrantV3 APIを使用してトークンを交換します。この場合:
- クライアント認証情報を使用して基本認証を設定します
grant_type:authorization_codeを使用しますcode: リダイレクトされたURIから取得したcodeを使用しますcode_verifier: AuthorizeV3リクエストのcode_challengeに基づいて入力しますclient_id: AuthorizeV3リクエストのclient_idに基づいて入力します
-
トークンの交換とログインが成功すると、
access_tokenとrefresh_tokenが設定されます。access_tokenを使用して、ユーザーはAGSにアクセスできます。
サポートされているサードパーティプラットフォーム:
- Steam
- PSN
- XBOX
- Epic Games
- Twitch
- Snapchat
- Discord
-
RetrieveAllActiveThirdPartyLoginV3を使用してすべてのアクティブなサードパーティログインをリストし、RetrieveActiveOIDCClientsV3を使用してすべてのアクティブなOIDCプラットフォームログインをリストします。
-
サードパーティログインの1つをクリックすると、AuthCodeRequestV3を呼び出します。ユーザーが選択したサードパーティに基づいて
platform_idを入力し、AuthorizeV3リクエストに基づいてrequest_idを入力します。 -
ユーザーはサードパーティ認証ページにリダイレクトされます。ユーザーがサードパーティ側で正常に認証されると、ユーザーは
codeクエリパラメータを含むウェブサイトにリダイレクトされます。 -
codeを使用して、PlatformAuthenticationV3を使用してサードパーティを認証できます。 -
PlatformAuthenticationV3は、新しいcodeクエリパラメータを含むウェブサイトに再度リダイレクトします。次に、TokenGrantV3 APIを使用してトークンを交換できます。この場合:grant_type:authorization_codeを使用しますcode: 前のセクションから取得したcodeを使用しますcode_verifier: AuthorizeV3リクエストのcode_challengeに基づいて入力しますclient_id: AuthorizeV3リクエストのclient_idに基づいて入力します
-
トークンの交換とログインが成功すると、
access_tokenとrefresh_tokenが設定されます。access_tokenを使用して、ユーザーはAGSにアクセスできます。
access_tokenが期限切れになった場合、有効なrefresh_tokenを使用してユーザートークンを更新できます。トークンを更新するには、TokenGrantV3 APIを呼び出します:- クライアント認証情報を使用して基本認証を設定します
grant_typeをrefresh_tokenとして設定します- ユーザーのリフレッシュトークンで
refresh_tokenを入力します