認証

高度な設定については、ハウツーをご覧ください。

OAuth 2.0 認証をセットアップする方法

OAuth 2.0 では、長持ちするトークンの代わりに、短命のトークンを使用しています(リフレッシュトークン)。リフレッシュトークンを使用することで、ユーザーはユーザー名とパスワードを再入力することなく、長期間アプリケーションに滞在することができます。これにより、ユーザー認証データが危険にさらされるリスクがなくなります。

認証用にOAuth 2.0を設定するには:

  • ユーザー名またはメールとパスワード経由
  • ソーシャルネットワーク経由
  • Steam経由

このオプションが有効な場合、ユーザー登録と認証は、Register new userおよびJWT auth by username and passwordAPIコールを呼び出すことによって実行されます。Login & Account Systemアセットは、OAuth 2.0認証のためにJWTトークン認証と同じメソッドを提供します。エンジンが最初にシーン上のオブジェクトを初期化すると、Awakeメソッドが呼び出されます。このメソッドは、現在のリフレッシュトークンの有効期限をチェックします。

Note
この設定を有効にしても、アプリケーションでのユーザーの認証プロセスは変わりません。

OAuth 2.0 認証を設定するには:

  1. パブリッシャーアカウントでログインプロジェクトのOAuth 2.0認証をセットアップします。
  2. Unityプロジェクトでアセットをセットアップします。

パブリッシャーアカウントでログインプロジェクトのOAuth 2.0認証を設定する

  1. パブリッシャーアカウントに移動します。
  2. ログインブロックで開くをクリックし、ログインプロジェクトに移動します。
  3. ログインプロジェクトブロックで、開くとセットアップをクリックします。
  4. 一般設定 > 認証に移動します。
  5. OAuth 2.0 認証ブロックで、接続するをクリックします。
  6. OAuth 2.0 リダイレクト URIを指定し、接続するをクリックします。
  7. クライアントIDをコピーして保存します。

Unityプロジェクトでアセットをセットアップする

  1. Unityプロジェクトに移動します。
  2. メインメニューでWindow > Xsolla > Edit Settingsをクリックします。
  3. Inspectorパネルで:
    1. Authorization methodフィールドで、OAuth2.0を選択します。
    2. OAuth2.0 client IDフィールドで、パブリッシャーアカウントでOAuth 2.0を設定するときに受信したクライアントIDを指定します。

以下のメソッドは、Login & Account Systemアセットで実装され、更新トークンを操作します:

  • IsOAuthTokenRefreshInProgress — 更新トークンの処理中trueを返し、それ以外の場合はfalseを返します。
  • ExchangeCodeToToken — ユーザーの認証コードを有効なJWTと交換します。

GetSocialNetworkAuthUrlメソッドにあるoauthState引数は、OAuth 2.0 認証時の追加のユーザ検証に使用されます。この引数は、CSRF 攻撃の可能性を軽減するために使用されます。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

独自のログインシステムの使い方

Notice
以下のアセットのみを使用する場合は、このハウツーを参考してください:
  • Game Commerce
  • Cross-Buy

Game CommerceとCross-Buyアセットを独自のログインシステムと統合することができます。そのためには、決済ステーションアクセストークンを介してアプリケーションにユーザー認証を実装する必要があります。ゲーム内ストア説明書にある認証アルゴリズムを参照してください。

独自のログインシステムを利用する場合:

  1. あなたのUnityプロジェクトのアセットを構成します
  2. 決済ステーションアクセストークンを処理するロジックを実装します

Unityプロジェクトのアセットを構成する

  1. あなたのUnityプロジェクトに移動します。
  2. メインメニューでのWindow > Xsolla > Edit Settingsをクリックします。Inspectorパネルで、Authorization methodフィールドで、Access Token値を選択します。
  3. Authorization server URLフィールドで、許可サーバーのアドレスを指定します。

決済ステーションアクセストークンの処理ロジック

  1. 認証には、アプリケーションのサーバ側から受信した決済ステーションアクセストークンを返すGetUserAccessTokenメソッドを使用します。
  2. 取得したトークンを、JWTトークンの代わりにGame CommerceとCross-Buyアセットメソッドで使用します。
  3. 有効期限が切れた後、新しい決済ステーションアクセストークンを受信するロジックを実装します。ユーザーがアプリケーションに再度ログインする必要がないように、バックグラウンドモードで新しいトークンを取得することをお勧めします。

Note
ゲーム内ストアとインベントリを操作するときの決済ステーションアクセストークンの有効期間は、エクソラAPIを最後に呼び出してから1時間となります。決済ステーションアクセストークンの有効期限を変更するには、アカウントマネージャーに連絡してください。
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

ソーシャルネットワーク経由でネイティブ認証を設定する方法

ネイティブ認証は、ユーザーがモバイルデバイスに設定されたソーシャルネットワークアカウントを介してアプリケーションにログインすることを可能にします。

ユーザーが初めてログインすると、ソーシャルネットワーキングアプリケーションが起動し、ユーザー認証の許可を求めます。その後は、ユーザーが何もしなくても自動的に認証が行われます。

現在、SDKは以下のソーシャルネットワーク経由のネイティブ認証を実装しています:

  • Google
  • Facebook
  • WeChat
  • QQ

ネイティブ認証を設定するには:

  1. Android用のUnityプロジェクトビルドを作成します。
  2. ソーシャルネットワークの開発者アカウントでアプリケーションの設定を行います:
    1. Facebookによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. Facebook開発者アカウントで、アプリケーションページを設定します。
    2. Googleによる認証の場合:Google API Consoleでプロジェクトを設定します。
    3. WeChatによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. 審査のためにアプリケーションを提出してください。
    4. QQによる認証の場合:
      1. 登録して、新しいアプリケーションを作成します。
      2. 審査のためにアプリケーションを提出してください。

  1. エクソラ側でソーシャルネットワークによる認証を設定します:
    1. FacebookとGoogleの場合は、パブリッシャーアカウントでソーシャルコネクションを設定します。
    2. WeChatとQQの場合は、あなたのアカウントマネージャーをお問い合わせてください。
  2. Unityプロジェクトのアセットを設定します。

Android用Unityプロジェクトビルドを作成する

  1. Unityプロジェクトに移動します。
  2. メインメニューのFile > Build settingsをクリックします。
  3. PlatformパネルのAndroidをクリックします。
  4. Buildをクリックします。
  5. ハッシュキーが形成されていることを確認します:
    1. メインメニューのWindow > Xsolla > Edit Settingsをクリックします。
    2. ハッシュキーがAndroid debug hash keyフィールドに表示されていることを確認します。

さらにネイティブ認証を構成するには、次のものが必要です:

  • File > Build settingsAndroidプラットフォームを選択すると、InspectorパネルにPackage Nameが表示されます。
  • Window > Xsolla > Edit Settings > Inspector > Android class nameAndroid class nameが表示されます。
  • Window > Xsolla > Edit Settings > Inspector > Android debug hash keyAndroid debug hash keyが表示されます。

Facebook開発者アカウントでアプリケーションページをセットアップする

  1. Facebook開発者アカウントのプロジェクト設定に移動します。
  2. 設定>基本に移動します。
  3. プラットフォームを追加するをクリックし、Androidを選択します。
  4. Google Playパッケージ名フィールドでのUnityプロジェクトからPackage Nameを指定します。
  5. クラス名フィールドでのUnityプロジェクトからAndroid class nameを指定します。
  6. ハッシュキーフィールドでのUnityプロジェクトからAndroid debug hash keyを指定します。
  7. 変更を保存するをクリックします。

さらにネイティブ認証の設定を行うには、設定 > 基本セクションのプロジェクト設定にあるアプリIDアプリシークレットが必要です。

Google API Consoleでプロジェクトをセットアップする

  1. Google API Consoleに移動します。
  2. 新しいプロジェクトをクリックします。
  3. プロジェクト名場所を指定して保存するをクリックします。
  4. 作成したプロジェクトに移動してサイドメニューでのOAuth同意画面をクリックします。
  5. 外部オプションを選択して作成するをクリックします。
  6. 必要なパラメータを指定して、保存をクリックします。サイドメニューで
  7. 資格情報をクリックします。
  8. Unityアプリ用のOAuth2.0クライアントを作成します:

    1. 資格情報を作成するをクリックして、OAuthクライアントIDを選択します。
    2. アプリケーションタイプフィールドでAndroidを指定します。
    3. 名称を指定します。
    4. パッケージ名フィールドであなたのUnityプロジェクトからPackage Nameを指定します。
    5. SHA-1証明書のフィンガープリントフィールドであなたのUnityプロジェクトからAndroid debug hash keyを指定します。
    6. 作成するをクリックします。
    7. OKをクリックします。

  1. Webアプリケーション用のOAuth2.0クライアントを作成します:
    1. 資格情報を作成するをクリックして、OAuthクライアントIDを選択します。
    2. アプリケーションタイプフィールドでウェブアプリケーションを指定します。
    3. 名称を指定します。
    4. 許可されたリダイレクトURIセクションでURIを追加するをクリックして、 https://login.xsolla.com/api/social/oauth2/callback URIを指定します。
    5. 作成するクリックします。
    6. OKクリックします。

さらにネイティブ認証の設定を行うには、ウェブアプリケーションのクライアントIDの設定にあるクライアントIDクライアントシークレットが必要です。

エクソラパブリッシャーアカウントでログインプロジェクトのソーシャルコネクションを設定します

  1. パブリッシャーアカウントでプロジェクトを開きます。
  2. サイドメニューのログインをクリックし、ログインプロジェクト > ログインプロジェクト > ソーシャル接続に移動します。
  3. Facebook経由で認証を設定するには:

    1. Facebookパネルで編集するをクリックしてステータスを切断済みを変更します。
    2. アプリケーションIDフィールドでのFacebook開発者アカウントからアプリIDを指定します。
    3. アプリケーションシークレットフィールドでのFacebook開発者アカウントからアプリシークレットを指定します。
    4. 接続するをクリックします。

  1. Google経由で認証を設定するには:
    1. Googleパネルで編集するをクリックしてステータスを切断済みを変更します。
    2. アプリケーションIDフィールドでのGoogle API ConsoleからクライアントIDを指定します。
    3. アプリケーションシークレットフィールドでのGoogle API Consoleからクライアントシークレットを指定します。
    4. 接続するをクリックします。

Unityプロジェクトのアセットをセットアップする

  1. Unityプロジェクトに移動します。
  2. メインメニューでWindow > Xsolla > Edit Settingsをクリックします。
  3. アプリケーションIDを指定します:
    1. Facebook App IDフィールドでのFacebook開発者アカウントからアプリIDを指定します。
    2. Google server IDフィールドでのGoogle API ConsoleからウェブアプリケーションのクライアントIDを指定します。
    3. WeChat App IDAppIDをWeChatアプリケーションの設定から指定します。
    4. QQ App IDAppIDをQQアプリケーションの設定から指定します。

    この記事は役に立ちましたか?
    ありがとうございます!
    改善できることはありますか? メッセージ
    申し訳ありません
    この記事が参考にならなかった理由を説明してください。 メッセージ
    ご意見ありがとうございました!
    あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
    非表示

Steam経由でネイティブ認証を設定する方法

ネイティブ認証により、プレーヤーはインストールされたSteamアプリケーションを介してアプリケーションに入ることができます。

ネイティブ認証を設定するには:

  1. パブリッシャーアカウントでStreamを介してサイレント認証をセットアップします。
  2. Unityプロジェクトを構成します。
  3. イベントの処理を構成します。
  4. Steamを介して認証を確認します。

Unityプロジェクトを構成する

  1. steam_appid.txtファイルを手動で作成し、SteamにアプリケーションIDを入力します。次に、このファイルをプロジェクトのAssetsカタログに配置します。

Note
GitHubからアセットをダウンロードした場合、Assetsカタログでsteam_appid.txtファイルがあります。このファイルには、デモプロジェクトのSteamのアプリケーションIDが含まれています。

  1. Unityプロジェクトを開きます。
  2. メインメニューで、Window > Xsolla > Edit Settingsに移動します。
  3. Inspectorパネルで:
    1. Use Steam authorizationボックスをチェックします。
    2. Steam App IDフィールド、SteamでアプリケーションIDを指定します。この値は、steam_appid.txtファイルの値と同じである必要があります。

イベントの処理を構成する

Steam経由でユーザーを認証するには、SteamAuthメソッドを介してsession ticket>を取得する必要があります。RequestTokenByメソッドを呼び出す際に受信した値を渡します。その結果、APIを呼び出すときに使用されるトークンを取得します。

Steamによる認証を確認する

  1. スタンドアロンプラットフォーム用のUnityプロジェクトのビルドを作成します。
  2. Steamを起動してログインします。
  3. アプリケーションを起動します。すべてが正しければ、Steamポップアップウィンドウが表示されます。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

トークン無効化の設定方法

トークンの無効化により、アプリケーション内のユーザー認証データのセキュリティを向上させることができます。このオプションを有効にすると、ユーザーが認証を行うたびに無効になる古いトークンが新しいトークンに置き換わります。

Note
JWTトークンを使用する認証では、トークン無効化を設定することができます。OAuth 2.0認証の場合、トークン無効化はプロトコル自体が提供するものであり、別途設定する必要はありません。

SDKを利用する場合、with_logoutパラメータの値が1の場合、Auth by username and passwordAuth via social networkのAPIコールを呼び出すことで、既存のトークンの無効化と新しいトークンの生成を行います。

Unityプロジェクトでトークン無効化を有効にするには:

  1. メインメニューで、Window > Xsolla > Edit Settingsに移動します。
  2. Inspectorパネルで、Enable JWT invalidationチェックボックスをオンにします。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示

ランチャー経由でアプリケーションに認証を設定する方法

エクソラランチャーを使用して、アプリケーションをユーザーに配信したり、更新したりすることができます。ランチャーには認証ツールが組み込まれています。ユーザー名とパスワードを再入力する必要がないように、ランチャーを介してアプリケーションの認証を設定します。

Notice
ランチャーを使用するには、ログインの設定が必要です。別の認証システムを使用することはサポートされていません。

SDKとランチャーを連携するためにセットアップする

  1. パブリッシャーアカウントでランチャーをセットアップします。

Note
config.jsonファイルで、以下のオブジェクトの値を変更するだけで十分です:
  • launcher_project_idパブリッシャーアカウント > ランチャー > 一般設定 > 一般情報にあるランチャーIDを指定します。
  • login_project_idパブリッシャーアカウント > ランチャー > 一般設定 > 認証にあるログインIDを指定します

  1. ランチャーのUIをカスタマイズします

Notice
エクソラサーバーとのSDKの統合は、Commerce APIコールを使用しているため、ランチャーストアはサポートされていません。

  1. あなたのアプリケーションのランチャー認証ロジックを実装します。
  2. ランチャーインストールファイルとビルドアーカイブを生成します
  3. アプリケーションのビルドを作成します
  4. アプリケーションのビルドをエクソラアップデートサーバーにアップロードします

ランチャー経由での認証のロジックを実装する

アプリケーションが起動すると、ランチャーはコマンドライン経由でパラメータリストを渡します。xsolla-login-tokenパラメータに認可トークンを渡します。受信したトークンを検証します。トークンが正常に検証された場合、アプリケーションでユーザーを認可します。

デモプロジェクトで説明したロジックの実装例を参照してください。

アプリケーションのビルドを作成する

  1. Unityプロジェクトに移動します。
  2. メインメニューでWindow > Xsolla > Edit Settingsをクリックします。IInspectorパネルで:
    1. Project IDフィールドで、パブリッシャーアカウント > プロジェクト設定 > プロジェクトIDにあるプロジェクトIDを指定します。
    2. Login IDフィールドで、パブリッシャーアカウント > ランチャー > 一般設定 > 認証にあるログインIDを指定します。

  1. トークンが処理されるユーザー認証シーンを実行します。
  2. メインメニューでFile > Build settingsをクリックし、そしてAdd Open Scenesをクリックします。認可シーンがリストの最初に追加されていることを確認してください。
  3. Buildをクリックします。
  4. ポップアップウィンドウで、完成したビルドが置かれるディレクトリへのパスを指定します。

この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
非表示
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
このページを評価する
このページを評価する
改善できることはありますか?

答えたくない

ご意見ありがとうございました!
最終更新日: 2021年6月17日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!