Собственное хранилище данных пользователей
Если вы используете собственное хранилище данных пользователей, Xsolla Login выступает как посредник и все данные для идентификации пользователя хранятся на вашей стороне. Xsolla Login передает данные аутентификации в токене в заголовке и теле вебхуков.
Примечание
Email-адреса пользователей, данные социальных сетей и атрибуты пользователей хранятся на стороне Xsolla. Пароли не хранятся на стороне Xsolla.
- регистрация пользователей;
- аутентификация по имени пользователя и паролю;
- аутентификация без пароля по номеру телефона;
- аутентификация без пароля по email;
- аутентификация через социальные сети;
- cброс пароля пользователя.
Примечание
Если вы тестируете интеграцию локально, то
POST
-запросы от Xsolla не доходят до URL-адресов вида http://localhost:3000/my-webhook-endpoint
. Сервис ngrok позволяет создать туннель для внешнего доступа, благодаря чему вы сможете локально получать запросы от Xsolla. Подробнее вы можете прочитать в документации ngrok.Сценарий взаимодействия
Примечание
Примечание
Максимальная длина JSON c дополнительными данными о пользователе – 1000 символов.
- никнейм;
- дата рождения;
- имя;
- фамилия;
- ID пользователя на вашем сервере.
Вы также можете обновить атрибуты пользователя, для этого передайте массив объектов с атрибутами пользователя. Структура объектов описана ниже.
Структура объекта с атрибутом пользователя:
Параметр | Тип | Описание |
---|---|---|
attr_type | string | Тип атрибута, определяет уровень доступа пользователя к атрибутам сервиса:
|
key | string | Название атрибута, которое используется для идентификации атрибута пользователя. Должно быть уникальным для каждого пользователя. Максимальная длина: 256 символов. Вы можете использовать цифры, латинские буквы, подчеркивания и дефисы. |
permission | string or null | Тип доступа к атрибутам пользователя, влияет на список атрибутов, которые возвращают методы:
Возможные значения: public , private (по умолчанию). |
read_only | string | Защищен ли атрибут от изменений. По умолчанию false и изменять значения атрибута разрешено. |
value | string | Значение атрибута пользователя. Максимальная длина: 256 символов. |
Регистрация пользователя
Примечание
Аутентификация по имени пользователя и паролю
Примечание
Аутентификация без пароля по номеру телефона
Примечание
Аутентификация без пароля по email
Примечание
Аутентификация через социальные сети
Примечание
Сброс пароля пользователя
- Клиент отправляет
POST
-запросReset password на сервер Xsolla Login. Запрос должен содержать следующие обязательные параметры:- query-параметр
projectId
— ID варианта авторизации в Личном кабинете; - body-параметры
username
— имя пользователя, допустимая длина: от 3 до 255 символов.
- query-параметр
- Сервер Xsolla Login отправляет письмо пользователю для подтверждения сброса пароля.
- Пользователь подтверждает сброс пароля в письме и переходит на страницу ввода нового пароля.
- Пользователь вводит новый пароль.
- Сервер Xsolla Login отправляет вебхук на URL для сброса пароля.
- В случае неуспешного сброса пароля вы можете передать сообщение об ошибке, которое будет отображено в виджете авторизации. Для этого в ответе на вебхук для создания пользователя передайте объект
error
, в котором:- В параметре
code
укажите код ошибки, например011-002
. - В параметре
description
укажите текст ошибки.
- В параметре
Пример вебхука на URL для сброса пароля:
Copy
http
- http
- curl
1POST https://your.hostname/your_reset_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "username": "john@gmail.com",
7 "fields": {
8 "password": "NewPa$$word1"
9 }
10}
1curl --request POST \
2 --url 'https://your.hostname/your_reset_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"john@gmail.com","fields":{"password":"NewPa$$word1"}}'
Обновление токена
Примечание
Обновление токена доступно только при использовании протокола аутентификации OAuth 2.0.
- Когда срок действия access-токена истекает, клиент отправляет
POST
-запрос Generate JWT на сервер Xsolla Login. Тело запроса должно содержать следующие параметры:grant_type
— тип получения JWT, передайте значениеrefresh_token
;client_id
— ID клиента OAuth 2.0;refresh_token
— refresh-токен, полученный в ответ на запрос авторизации пользователя.
- Сервер Xsolla Login отправляет вебхук на URL обновления токена. Ответ на вебхук должен иметь формат, описанный в сценарии взаимодействия. В ответе вы можете указать список пользовательских атрибутов и/или любой необходимый объект JSON. Объект JSON, переданный вами в ответе, записывается в поле
partner_data
JWT пользователя.
Примечание
Чтобы сопоставлять поля JSON и свойства профиля пользователя в Xsolla, а также настроить связывание аккаунтов по ID пользователя на вашем сервере, воспользуйтесь инструкцией.
Copy
- http
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
Пример ответа на вебхук с атрибутами пользователей:
Copy
- json
1{
2 "attributes": [
3 {
4 "attr_type": "server",
5 "key": "company",
6 "permission": "private",
7 "value": "facebook-promo"
8 },
9 {
10 "attr_type": "server",
11 "key": "custom-id",
12 "permission": "private",
13 "value": 48582
14 }
15 ]
16}
Пример ответа с объектом JSON:
Copy
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "user@example.com"
5 },
6 "user_info": {
7 "username": "gamer123",
8 "user_first_name": "John",
9 "user_last_name": "Doe",
10 "gender": "male",
11 "birthday": "1990-05-15",
12 "country": "US",
13 "language": "en"
14 },
15 "subscription_status": "active",
16 "loyalty_level": "gold"
17
18}
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Продолжить чтение
Последнее обновление:
8 октября 2025
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.