ディープリンク経由の認証設定
ディープリンクは、ユーザーIDまたはエクソーラログイン経由での認証プロセスの代わりに、ゲームを通じてウェブショップでワンクリックで認証できるようになります。
ユーザーのモバイルデバイスにゲームがインストールされている場合、認証トークンを取得するために、ディープリンク経由でゲームにリダイレクトされます。
ユーザーフロー
モバイルアプリの場合
- ウェブショップで未認証のユーザーがログインボタンまたは購入ボタンをクリックします。ユーザーIDを入力するか、モバイルゲームからログインするためのモーダルウィンドウが開きます。
- ユーザーはゲームを通してログインボタンをクリックします。
- ユーザーは、認証ユーザーとして自動的にウェブショップにリダイレクトされます。
デスクトップ版
- ウェブショップで未認証のユーザーがログインボタンまたは購入ボタンをクリックします。ユーザーIDを入力するか、QRコードを使ってモバイル版ゲームにログインするためのモーダルウィンドウが開きます。
- ユーザーはモバイルデバイスを使用してQRコードをスキャンすると、モバイルデバイスでウェブショップが開きます。
- モバイル版のゲームは、ユーザーのモバイルデバイスで開きます。
- ユーザーは、認証されたユーザーとして自動的にモバイルデバイス上のウェブショップにリダイレクトされます。
サービスインタラクションフロー
セットアップ方法
ゲーム側
- ゲームのモバイルアプリ設定で、ディープリンク経由でゲームを開くためのURLスキームを新規登録してください:
- Androidアプリ —
AndroidManifest.xml
ファイル - iOSアプリ —
Info.plist
ファイル
- Androidアプリ —
gamename://authorize
、そこに:gamename
— ユーザー認証のためにモバイルデバイスで開くゲーム名。authorize
— ゲーム名のゲームが開いた後に実行されるアクション名の例。アプリケーションのオペレーティングシステムのアクションと一致するアクション名を使用してください。
Copy
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>gamename</string>
</array>
</dict>
</array>
AndroidアプリケーションでURLスキームを登録する例:
Copy
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="gamename" android:host="authorize" />
</intent-filter>
- ゲームのユーザーIDを使用したJWT形式の認証トークンの生成を実装します。
パラメータ | 種類 | 説明文 |
---|---|---|
loginId | string | アドミンページからの認証メソッドのID。必須。 |
webhookUrl | string | ウェブショップでのユーザー検証ウェブフックを受信するためのURL。URLは、ユーザーIDによる認証の設定で指定したアドレスと一致する必要があります。エクソーラは、ウェブフックへの応答としてHTTPコード200 を期待しており、これによりウェブショップのユーザーが認証されます。エクソーラが404 HTTPコードで応答を受信した場合、または応答を受信しなかった場合、ユーザーは認証されません。ディープリンク経由で認証する際にウェブフックを無効にするには、 "webhookUrl": "https://nowebhook.com" の値を指定できます。この場合、エクソーラはユーザーの存在を確認しませんので、 user.idパラメータにはゲーム内に存在するユーザーIDを渡すようにしてください。必須。 |
settings.projectId | string | ブラウザのアドレスバーでプロジェクト名の横に指定されている、アドミンページで確認できるプロジェクトID。URLの形式は次のようになります:https://publisher.xsolla.com/merchant ID/Publisher Account section 。必須。 |
user.id | string | ゲーム内のユーザーID。必須。 |
user.name | string | ユーザー名。必須。 |
curlを使用してユーザートークン生成APIメソッドを呼び出す例:
Copy
- curl
curl --location 'https://sb-user-id-service.xsolla.com/api/v1/user-id' \
--header 'Content-Type: application/json' \
--data '{
"loginId": "000001aa-001a-0ab0-00001-01a01a01a01a",
"webhookUrl": "https://nowebhook.com",
"settings": {
"projectId": 123456,
"merchantId": 123456
},
"user": {
"id": "123",
"name": "a-user-name"
}
}'
{token=“JWT_TOKEN”}
のような応答が返されます。
- 認証成功の通知を含むポップアップウィンドウを追加します(任意)。
- 取得したユーザートークンを使用して、「ブラウザでウェブショップを開く」を実装します。
認証されたユーザーがブラウザでウェブショップを開くためのURLを作成する例:
https://example.com/?token={token}
、カスタムドメインを使用する場合https://example.xsollasitebuilder.com/?token={token}
、エクソーラドメインを使用する場合
{token}
はユーザーの認証トークンです。サイトビルダー内
以下のコード例を使用して、サイトビルダー側で設定を行うことができます。セットアップの支援が必要な場合は、カスタマーサクセスマネージャーに連絡するか、 csm@xsolla.comまでメールでお問い合わせください。
お知らせ
まず、ユーザーIDによる認証を設定します。これは、ユーザーがディープリンク認証を利用できない場合、別の認証方法を提供するために必要です。例えば、ユーザーのモバイルデバイスにゲームがインストールされていない場合などです。
- アドミンページであなたのプロジェクトを開きます。
- サイドメニューで、「サイトビルダー」をクリックします。
- ウェブショップサイトのカード上で、ユーザーID経由の認証が設定されている場合、「構成」をクリックしてください。
- 「ログイン設定」に移動し、「ユーザーID」セクションを選択します。
- 「ディープリンク認証」トグルを「オン」に設定します。
- 「ディープリンクURL」フィールドに、ユーザー認証用のリンクを入力します。
- サイトでファストログインブロックを使用する場合:
- ファストログインブロックに移動します。
- 「レイアウト」セクションで、「QRコード」トグルを「オン」にします。
- 認証を確認するには、「プレビュー」をクリックしてください。
- ウェブサイトを公開するには、「公開」をクリックします。
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。