https://login.xsolla.com/api
このセクションでは、ログイン を操作するための API 呼び出しについて説明します。リクエストを送信する前に、パブリッシャー アカウント でログイン プロジェクトを セットアップ してください。
アドミンページでは、次のログインプロジェクトタイプにアクセスできます:
詳細については、クロスプラットフォームアカウント機能を参照してください。
Login APIは、以下のトークンタイプをサポートしています:
認証スキームによって、APIコールがクライアント側かサーバー側かを判断できます:
Authorization
header: Bearer <user_JWT>
header,
where <user_JWT>
— is the user token.X-SERVER-AUTHORIZATION: <server_JWT>
, where
<server_JWT>
— is the server token.トークンを取得するには、次のいずれかのリクエストを送信します:
JWT認証後、ユーザーはクエリパラメータにトークンを含むコールバックURLにリダイレクトされます:<Callback URL>?token=<User token (JWT)>
。
After OAuth 2.0 protocol-based authentication, send the Generate
JWT POST
request to the Xsolla Login server to exchange the received code
parameter
for a user token (access_token
).
When the access token expires, the client sends Generate
JWT POST
request endpoint on the Xsolla Login server. The request body must include the
following parameters:
grant_type
— JWT grant type, pass the refresh_token
value.client_id
— OAuth 2.0 client ID.refresh_token
— refresh token received in response to the user authorization
request.サーバートークンを取得するには:
アプリケーションのバックエンドで、JWT APIを生成するコールを使用してサーバーJWTを取得するメソッドを実装します。リクエストには次のパラメータが含まれている必要があります。
grant_type
is the type of getting JWT, pass the client_credentials
value.client_secret
is the secret key that is received when you set up the server
OAuth 2.0 client.client_id
is the client ID received when you set up the server OAuth 2.0
client.When the server token expires, generate a new token using the Generate JWT API call. The request body must include the following parameters:
grant_type
— JWT grant type, pass the client_credentials
value.client_id
— OAuth 2.0 client ID.client_secret
— OAuth 2.0 client secret key.To prevent Xsolla system overloads and protect against sudden spikes in
incoming traffic, Xsolla limits the number of requests received by the Xsolla
API within a specified period of time. If the limit is exceeded, the Xsolla API
returns an HTTP response with the 429
status code.
Rate limits vary by method, IP-address, authentication scheme, and other factors.
Rate limits for server-side methods are applied to methods with server-side
authentication — methods that are called with the X-SERVER-AUTHORIZATION:
<server_JWT>
header, where <server_JWT>
is the server
token.
Rate limits for client-side methods are applied to methods without
authentication or with client-side authentication — methods that are called
with the Authorization: Bearer <user_JWT>
header, where
<user_JWT>
is the user token.
Example of a method with server-side authentication: Example of a method with client-side authentication:
Rate limits for client-side methods do not change and are necessary to prevent brute-force attacks. The maximum request rate for server-side methods is higher than for client-side methods. You can refer to the recommendations on how to manage rate limits in the documentation.
すべてのトークンにはJWTフォーマットがあり、ペイロードに明確な情報が含まれています。
トークンには、認証またはメールアドレス確認後の主な要求が含まれます。これらの要求の有無は、ユーザーデータベースや認証コールに依存しません。
クレーム | タイプ | 必須 | 説明 |
exp |
Unixタイムスタンプ | はい | トークンの有効期限を設定する日時。デフォルトの有効期限は24時間です。有効期限は、ログインプロジェクトごとに変更できます。 |
iss |
文字列 | はい | トークンに署名したサービス:https://login.xsolla.com 。 |
iat |
Unixタイムスタンプ | はい | トークンを発行した日時。 |
sub |
文字列(UUID) | はい | エクソーラログインサーバー側に書き込まれたユーザーID。 |
groups |
配列 | はい |
ユーザーが所属しているグループのリスト。各グループは以下のフォーマットで書かれます:
デフォルトグループは1つしか存在できません。このグループには、異なるグループに分散される前のすべてのユーザーが初期状態で含まれています。 |
xsolla_login_project_id |
文字列(UUID) | はい | ログインプロジェクトID。 |
type |
文字列 |
認証オプション:
デフォルトグループは1つしか存在できません。このグループには、異なるグループに分散される前のすべてのユーザーが初期状態で含まれています。 |
|
avatar |
文字列 | ユーザーのアバターURL。 | |
username |
文字列 | ユーザー名。 | |
publisher_id |
integer | ログインプロジェクトを所有するマーチャントのID。 | |
email |
文字列 | ユーザーのメールアドレス。 | |
payload |
文字列 | 認証時にペイロードパラメータで渡される追加情報。 | |
promo_email_agreement |
ブール型 |
次のいずれかの値になります:
true の値になります。
ログインウィジェットの登録フォームに機能を追加するには:
|
|
connection_information |
文字列 | ユーザーが生年月日を確認したかどうかを表示します。確認はoknameサービスを通じて行われます。 |
PlayFabストレージを使用する場合、認証後にトークンに含まれる要求。
クレーム | タイプ | 必須 | 説明 |
external_account_id |
文字列 | はい | ユーザーPlayFab ID。 |
session_ticket |
文字列 | はい |
PlayFab APIへの認証リクエストまたはリクエストの間に受け取ったSessionTicketパラメータです。 OAuth 2.0プロトコルを経由でユーザーを認証し、 |
entity_token |
文字列 | はい | EntityToken.EntityTokenパラメータ。 |
entity_type |
文字列 | はい | EntityToken.Entity.Typeパラメータ。 title_player_account の値のみを持つことができます。 |
entity_id |
文字列 | はい | EntityToken.Entity.Idパラメータ。 |
カスタムストレージを使用する場合、認証後にトークンに含まれる要求。
クレーム | タイプ | 必須 | 説明 |
provider |
文字列 | はい | 認証に使用されるソーシャルネットワークの名前。ユーザーがユーザー名とパスワード経由で認証する場合、要求にはxsolla 値が含まれます。 |
external_account_id |
文字列 | サーバー側のユーザーID。 | |
partner_data |
Data of any type returned by your server in the response body during authentication. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com | ||
social_access_token |
Access token of the social network through which the user was authenticated. To enable the transmission of this claim, contact your Customer Success Manager or email to csm@xsolla.com. |
ソーシャルネットワーク経由の認証後、トークンに含まれる要求。これらの要求の存在は、ユーザーデータベースに依存しません。
クレーム | タイプ | 必須 | 説明 |
provider |
文字列 | はい | 認証に使用されるソーシャルネットワークの名前。 |
id |
文字列 | はい | ソーシャルネットワークにおけるユーザーID。 |
is_cross_auth |
ブール型 | サイレント認証のリクエストが進行中であることを示します。 | |
social_access_token |
文字列 | 認証に使用するソーシャルネットワークアカウントのaccess_token パラメータ。この機能をセットアップするには、アカウントマネージャーにお問い合わせください。 |
|
picture |
文字列(URL) | ソーシャルネットワークにおけるユーザープロフィール画像へのリンク。 | |
birthday |
日付(RFC3339) | ソーシャルネットワークにおけるユーザーの誕生日。 | |
gender |
文字列 | ソーシャルネットワークにおけるユーザー性別。 | |
name |
文字列 | ソーシャルネットワークにおけるユーザーニックネーム。 |
サーバートークンは、X-SERVER-AUTHORIZATION
ヘッダーで渡されます。
トークンのペイロードには、OAuth 2.0クライアントが所有するリソースに関する情報が含まれています。トークンは、これらのリソースに対するサーバーベースの認証によるコールにアクセスできます。
クレーム | タイプ | 必須 | 説明 |
xsolla_login_project_id |
文字列(UUID) | はい | OAuth 2.0クライアントを所有するログインプロジェクトのID。 |
resources |
配列 | はい |
OAuth 2.0クライアントが所有するリソースのリスト。可能なリソースのタイプ:
各グループは以下のフォーマットで書かれます:
|
jti |
文字列 | はい | 一意のトークンID。 |
To validate the JWT, use the following Login API calls:
通知
秘密鍵は他人に教えないでください。漏洩した場合は、更新してください。
Refer to the documentation for information about Xsolla Login API errors.