Armazenamento de dados do usuário personalizado
Se você utiliza um armazenamento de dados de usuários personalizado, o Xsolla Login atuará como intermediário, e todos os dados de identificação de usuários será armazenado do seu lado. O Xsolla Login passa os dados de autenticação em um token incluso no cabeçalho dos webhooks e nos corpos deles.
- autenticação de cadastro
- autenticação via nome de usuário e senha
- autenticação sem senha via número de telefone
- autenticação sem senha via e-mail
- autenticação via redes sociais
- redefinição de senha de usuário
POST da Xsolla não alcançam URLs como http://localhost:3000/my-webhook-endpoint. Ngrok permite que você crie um túnel para acessos externos, possibilitando o recebimento de solicitações da Xsolla localmente. Você pode ler mais sobre isso na documentação do ngrok.Fluxo de interação
Você pode usar o widget de login ou o seu aplicativo, que usa chamadas de Login API, como um cliente. O fluxo de interação entre o cliente e o servidor Xsolla Login é o seguinte:
- O cliente envia solicitações para o servidor Xsolla Login. O formato de solicitações é descrito em Authentication methods.
- O servidor Xsolla Login envia webhooks ao seu servidor. O cabeçalho inclui um JWT de servidor com o parâmetro
“request_type”: “gateway_token”. Para configurar a validação de token, siga a instrução. Uma parte dos dados de identificação do usuário é passada no corpo do webhook. - Para confirmar o recebimento do webhook, seu servidor deve retornar:
- O código HTTP
200,201, ou204, em caso de uma resposta bem-sucedida. - O código HTTP
400com a descrição do problema, se o usuário especificado não foi encontrado ou se uma assinatura inválida foi passada. Seu gerenciador de webhooks também pode retornar um código HTTP5xxem caso de problemas temporários com o servidor.
- O código HTTP
- O servidor Xsolla Login processa uma resposta do seu servidor e retorna o token de autorização para o cliente.
- O cliente processa a resposta.
Se você quiser adicionar informações de usuários ao JWT após a identificação do usuário, retorne um objeto JSON com qualquer conjunto de parâmetros no corpo de resposta. Esse objeto será salvo no campo partner_data do JWT.
Você pode usar o widget de login ou o seu aplicativo, que usa chamadas de Login API, como um cliente. O fluxo de interação entre o cliente e o servidor Xsolla Login é o seguinte:
- O cliente envia solicitações para o servidor Xsolla Login. O formato de solicitações é descrito em Authentication methods.
- O servidor Xsolla Login envia webhooks ao seu servidor. O cabeçalho inclui um JWT de servidor com o parâmetro
“request_type”: “gateway_token”. Para configurar a validação de token, siga a instrução. Uma parte dos dados de identificação do usuário é passada no corpo do webhook. - Para confirmar o recebimento do webhook, seu servidor deve retornar:
- O código HTTP
200,201, ou204, em caso de uma resposta bem-sucedida. - O código HTTP
400com a descrição do problema, se o usuário especificado não foi encontrado ou se uma assinatura inválida foi passada. Seu gerenciador de webhooks também pode retornar um código HTTP5xxem caso de problemas temporários com o servidor.
- O código HTTP
- O servidor do Xsolla Login processa uma resposta a partir do seu servidor e retorna o token de autorização ao cliente.
- O cliente envia a solicitação Generate JWT
POSTao servidor do Xsolla Login. O corpo da solicitação deve incluir os seguintes parâmetros obrigatórios:grant_type— tipo de concessão JWT, passe o valorauthorization_code.client_id— ID de Cliente OAuth 2.0.client_secret— ID de Cliente Secreto OAuth 2.0. Necessário para o tipo de autenticação confidencial.code— código de autorização.
- O servidor Xsolla Login retorna um par de JWTs ao cliente: um token de acesso e um token de atualização.
- O cliente processa a resposta.
- Quando o token de acesso expira, o cliente envia a solicitação Generate JWT
POSTao servidor Xsolla Login. O corpo da solicitação deve incluir os seguintes parâmetros obrigatórios:grant_type— tipo de concessão JWT, passe o valorrefresh_token.client_id— ID de Cliente OAuth 2.0.refresh_token— o token de atualização recebido em resposta à solicitação de autorização do usuário.
Você pode adicionar as informações do usuário ao JWT ao identificar um usuário e/ou atualizar um token, e retornar um objeto JSON com qualquer conjunto de parâmetros no corpo de resposta. Esse objeto será salvo no campo partner_data do JWT.
- apelido
- data de nascimento
- nome
- sobrenome
- ID de usuário no seu servidor
Você também pode atualizar atributos de usuário passando uma matriz de objetos de atributos de usuário. A estrutura desses objetos está descrita abaixo.
Estrutura de um objeto de atributo de usuário:
| Parâmetro | Tipo | Descrição |
|---|---|---|
attr_type | string | Definição do nível de acesso do usuário aos atributos de serviço:
|
key | string | O nome do atributo usado para identificar o atributo do usuário. Deve ser exclusivo para cada usuário. Comprimento máximo: 256 símbolos. Você pode usar números, letras latinas, hifens e sublinhados. |
permission | cadeia de caracteres ou null | O tipo de acesso aos atributos do usuário afeta a lista de atributos retornados pelos métodos:
Possible values: public, private(padrão). |
read_only | string | Se o atributo está protegido contra modificações ou não. Por padrão, false e alterar os valores do atributo é permitido. |
value | string | O valor do atributo do usuário. Comprimento máximo: 256 símbolos. |
Cadastro de usuários
- O cliente envia a solicitação
Register new user POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.email— endereço de e-mail do usuário. Comprimento permitido: 1 a 255 caracteres.
- O parâmetro de pesquisa
- O servidor de Xsolla Login envia uma solicitação para o URL de novo usuário. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
- O cliente envia a solicitação
Register new user POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.email— endereço de e-mail do usuário. Comprimento permitido: 1 a 255 caracteres.
- O parâmetro de pesquisa
- O servidor de Xsolla Login envia uma solicitação para o URL de novo usuário. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
- O cliente envia a solicitação
Register new user POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.email— endereço de e-mail do usuário. Comprimento permitido: 1 a 255 caracteres.
- O parâmetro de consulta
- O servidor Xsolla Login envia um webhook para o New user URL. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido na resposta é registrado no campo
partner_datado JWT do usuário.
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Os dados do usuário serão registrados no banco de dados Xsolla enquanto o
emailestiver sinalizado como não confirmado. O usuário receberá um e-mail de confirmação de conta. - Se você integrou o Login Widget, o usuário será redirecionado à página com a seguinte mensagem: Confirme sua conta seguindo as instruções enviadas para {email}.
- Se o cadastro do usuário não for bem sucedido, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe um objeto de
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de um objeto com uma mensagem de erro:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
- O cliente envia a solicitação
Register new user POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— Tipo de conessão JWT, passe o valorcode.client_id— ID de Cliente OAuth 2.0.state— um valor usado para autenticações de usuário adicionais. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.
- Parâmetros de pesquisa:
- O servidor de Xsolla Login envia um webhook ao URL de verificação de usuário. A resposta deve estar no formato descrito neste fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_registration_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_registration_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Os dados do usuário serão registrados no banco de dados Xsolla enquanto o
emailestiver sinalizado como não confirmado. O usuário receberá um e-mail de confirmação de conta. - Se você integrou o Login Widget, o usuário será redirecionado à página com a seguinte mensagem: Confirme sua conta seguindo as instruções enviadas para {email}.
- Se o cadastro do usuário não for bem sucedido, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe um objeto de
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de um objeto com uma mensagem de erro:
- json
1{
2 "error": {
3 "code": "011-002",
4 "description": "<string>"
5 }
6}
Autenticação via nome de usuário e senha
- O cliente envia a solicitação
Auth by username and password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.
- O parâmetro de pesquisa
- O servidor de Xsolla Login envia uma solicitação para o URL de verificação de usuário. A resposta deve estar no formato descrito neste fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
- O cliente envia a solicitação
Auth by username and password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.
- O parâmetro de pesquisa
- O servidor de Xsolla Login envia uma solicitação para o URL de verificação de usuário. A resposta deve estar no formato descrito neste fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
- O cliente envia a solicitação
Auth by username and password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.
- O parâmetro de consulta
- O servidor Xsolla Login envia um webhook para o User verification URL. A resposta deve estar no formato descrito neste fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido na resposta é registrado no campo
partner_datado JWT do usuário.
Exemplo de webhook de URL de verificação de usuário:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O servidor Xsolla Login gerará um JWT de usuário.
- O usuário será redirecionado para o
login_urlcom um parâmetro de pesquisatoken. O parâmetrotokencontém o JWT do usuário.
- O cliente envia a solicitação
Auth by username and password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— Tipo de concessão JWT, passe o valorcode.client_id— ID de Cliente OAuth 2.0.state— um valor usado para autenticações de usuário adicionais. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- Parâmetros do corpo:
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.password— senha do usuário. Comprimento permitido: 6 a 100 caracteres.
- Parâmetros de pesquisa:
- O servidor de Xsolla Login envia um webhook ao URL de verificação de usuário. A resposta deve estar no formato descrito neste fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
Exemplo de webhook de URL de verificação de usuário:
http
- http
- curl
1POST https://your.hostname/your_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email":"[email protected]",
7 "password":"123456",
8 "username":"[email protected]"
9}
1curl --request POST \
2 --url 'https://your.hostname/your_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email":"[email protected]","password":"123456","username":"[email protected]"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O servidor Xsolla Login gerará um JWT de usuário.
- O usuário será redirecionado para o
login_urlcom um parâmetro de pesquisatoken. O parâmetrotokencontém o JWT do usuário.
Autenticação sem senha via número de telefone
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu número de telefone.
- O usuário insere o número de telefone.
- O cliente envia a solicitação
Start auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - O parâmetro do corpo
phone_number— número de telefone do usuário.
- O parâmetro de pesquisa
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - Parâmetros do corpo:
username— código de confirmação.phone_number— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu número de telefone.
- O usuário insere o número de telefone.
- O cliente envia a solicitação
Start auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - O parâmetro do corpo
phone_number— número de telefone do usuário.
- O parâmetro de pesquisa
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - Parâmetros do corpo:
username— código de confirmação.phone_number— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu número de telefone.
- O usuário insere seu número de telefone.
- O cliente envia a solicitação
Start auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - O parâmetro do corpo
phone_number— número de telefone do usuário.
- O parâmetro de consulta
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - Parâmetros do corpo:
code— código de confirmação.phone_number— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de consulta
- Se esta for a primeira autorização do usuário, o servidor Xsolla Login envia um webhook para o Passwordless login URL. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido na resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, por exemplo011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu número de telefone.
- O usuário insere o número de telefone.
- O cliente envia a solicitação
Start auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— tipo de concessão JWT, passe o valorcode.client_id— ID de Cliente OAuth 2.0.state— um valor usado para autenticação de usuário adicional. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- O corpo do parâmetro
phone_number— o endereço de e-mail do usuário.
- Parâmetros de pesquisa:
- O cliente mostra um campo para o usuário preencher o código de confirmação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by phone number POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
client_id—OAuth 2.0 client ID. - Parâmetros do corpo:
code— código de confirmação.phone_number— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_phone_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "login": "+12025550140",
7 "type": "phone"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_phone_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"login":"+12025550140","type":"phone"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
Autenticação sem senha via e-mail
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu endereço de e-mail.
- O usuário insere o endereço de e-mail.
- O cliente envia a solicitação
Start auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - O parâmetro do corpo
email— endereço de e-mail do usuário.
- O parâmetro de pesquisa
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - Parâmetros do corpo:
code— código de confirmação.email— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu endereço de e-mail.
- O usuário insere o endereço de e-mail.
- O cliente envia a solicitação
Start auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - O parâmetro do corpo
email— endereço de e-mail do usuário.
- O parâmetro de pesquisa
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - Parâmetros do corpo:
code— código de confirmação.email— número de telefone do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu endereço de e-mail.
- O usuário insere seu endereço de e-mail.
- O cliente envia a solicitação
Start auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - O parâmetro do corpo
email— endereço de e-mail do usuário.
- O parâmetro de consulta
- O cliente exibe um campo para que o usuário possa preencher o código de verificação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - Parâmetros do corpo:
code— código de confirmação.email— endereço de e-mail do usuário.operation_id— ID do código de confirmação.
- O parâmetro de consulta
- Se esta for a primeira autorização do usuário, o servidor Xsolla Login envia um webhook para o Passwordless login URL. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido na resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, por exemplo011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "[email protected]",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "[email protected]","type": "email"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- O cliente abre um formulário de autenticação para que o usuário possa inserir seu endereço de e-mail.
- O usuário insere o endereço de e-mail.
- O cliente envia a solicitação
Start auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— tipo de concessão JWT, passe o valorcode.client_id— ID de Cliente OAuth 2.0.state— um valor usado para autenticação de usuário adicional. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- O corpo do parâmetro
email— o endereço de e-mail do usuário.
- Parâmetros de pesquisa:
- O cliente mostra um campo para o usuário preencher o código de confirmação.
- O usuário insere o código de verificação recebido.
- O cliente envia a solicitação
Complete auth by email POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
client_id—OAuth 2.0 client ID. - Parâmetros do corpo:
code— código de confirmação.phone_number— e-mail do usuário.operation_id— ID do código de confirmação.
- O parâmetro de pesquisa
- Se esta for a primeira autorização do usuário, o servidor de Xsolla Login envia uma solicitação para o URL de login sem senha. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário. - Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Exemplo de webhook:
http
- http
- curl
1POST https://your.hostname/your_email_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "email": "[email protected]",
7 "type": "email"
8}
1curl --request POST \
2 --url 'https://your.hostname/your_email_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json' \
5 --data '{"email": "[email protected]","type": "email"}'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
Autenticação via redes sociais
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na Conta de Distribuidor (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - O parâmetro de trajeto
provider_name— nome da rede social conectada ao Login na Conta de Distribuidor. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- O parâmetro de pesquisa
- O usuário acessa uma rede social.
- O servidor Xsolla Login processa os dados de usuário recebidos da rede social e envia um webhook para o URL de login social. A resposta deve estar no formato descrito no fluxo de integração. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta de jogos móveis (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - O parâmetro de trajeto
provider_name— nome da rede social conectada ao Login na conta de jogos móveis. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- O parâmetro de pesquisa
- O usuário acessa uma rede social.
- O servidor Xsolla Login processa os dados de usuário recebidos da rede social e envia um webhook para o URL de login social. A resposta deve estar no formato descrito no fluxo de integração. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - O parâmetro de caminho
provider_name— nome da rede social conectada ao Login na sua conta. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- O parâmetro de consulta
- O usuário faz login em uma rede social.
- O servidor Xsolla Login processa os dados do usuário recebidos da rede social e envia um webhook para o Social Login URL. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Os dados do usuário são passados no cabeçalho Authorization como token de portal temporário (um token de servidor com “request_type”: “gateway_token”.
Principais campos do token de portal:
| Reivindicar | Tipo | Descrição |
|---|---|---|
| exp | Carimbo de data/hora Unix | A data e a hora do vencimento do JWT. A vida útil do JWT é de 7 minutos. Obrigatório. |
| iat | Carimbo de data/hora Unix | A data e a hora em que o JWT é emitido. Obrigatório. |
| iss | string | O serviço que assinou o JWT: https://login.xsolla.com. Obrigatório. |
| request_type | string | Constante: gateway_request. Obrigatório. |
| xsolla_login_project_id | cadeia de caracteres (UUID) | Seu ID de projeto de Login na Conta de Distribuidor. Obrigatório. |
| string | Endereço de e-mail do usuário. | |
| sub | cadeia de caracteres (UUID) | ID do usuário escrito no lado do servidor Xsolla Login. Obrigatório. |
| username | string | Nome de usuário. |
| provider | string | Nome de uma rede social usada para autenticação. Obrigatório. |
| id | string | ID de usuário em uma rede social. Obrigatório. |
| social_access_token | string | Token de acesso da rede social pela qual o usuário fez a autenticação. Para ativar a transmissão dessa reivindicação, entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| partner_data | string | Dados de qualquer tipo são retornados pelo seu servidor no corpo de resposta durante a autenticação. Para habilitar a transmissão dessa reivindicação, contate seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| Reivindicar | Tipo | Descrição |
|---|---|---|
| exp | Carimbo de data/hora Unix | A data e a hora do vencimento do JWT. A vida útil do JWT é de 7 minutos. Obrigatório. |
| iat | Carimbo de data/hora Unix | A data e a hora em que o JWT é emitido. Obrigatório. |
| iss | string | O serviço que assinou o JWT: https://login.xsolla.com. Obrigatório. |
| request_type | string | Constante: gateway_request. Obrigatório. |
| xsolla_login_project_id | cadeia de caracteres (UUID) | Seu ID de projeto de Login na conta. Obrigatório. |
| string | Endereço de e-mail do usuário. | |
| sub | cadeia de caracteres (UUID) | ID do usuário escrito no lado do servidor Xsolla Login. Obrigatório. |
| username | string | Nome de usuário. |
| provider | string | Nome de uma rede social usada para autenticação. Obrigatório. |
| id | string | ID de usuário em uma rede social. Obrigatório. |
| social_access_token | string | Token de acesso da rede social pela qual o usuário fez a autenticação. Para ativar a transmissão dessa reivindicação, entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| partner_data | string | Dados de qualquer tipo são retornados pelo seu servidor no corpo de resposta durante a autenticação. Para habilitar a transmissão dessa reivindicação, contate seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
Exemplo de uma carga útil de token:
- json
1{
2 "exp": 1573635020,
3 "iat": 1573634600,
4 "iss": "https://login.xsolla.com",
5 "request_type": "gateway_request",
6 "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
7 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "[email protected]",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
Exemplo de webhook de URL de login social:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na Conta de Distribuidor (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— tipo de concessão JWT, passe o valorcode.client_id— OAuth 2.0 client ID.state— um valor usado para identificação de usuário adicional. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- O parâmetro de trajeto
provider_name— nome da rede social conectada ao Login na Conta de Distribuidor. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- Parâmetros de pesquisa:
- O usuário acessa uma rede social.
- O servidor Xsolla Login processa os dados de usuário recebidos da rede social e envia um webhook para o URL de login social. A resposta deve estar no formato descrito no fluxo de integração. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta de jogos móveis (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- Parâmetros de pesquisa:
response_type— tipo de concessão JWT, passe o valorcode.client_id— OAuth 2.0 client ID.state— um valor usado para identificação de usuário adicional. Necessário para prevenir ataques CSRF. Retornado na resposta. Comprimento permitido: 1 a 8 caracteres.
- O parâmetro de trajeto
provider_name— nome da rede social conectada ao Login na conta de jogos móveis. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- Parâmetros de pesquisa:
- O usuário acessa uma rede social.
- O servidor Xsolla Login processa os dados de usuário recebidos da rede social e envia um webhook para o URL de login social. A resposta deve estar no formato descrito no fluxo de integração. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Para obter dados do usuário ao autenticar via redes sociais, especifique o Social Login URL nas configurações do seu projeto Login na conta (seção User database > Storage > Custom storage). Uma solicitação com dados recebidos da rede social é enviada para esse URL.
Fluxo de autenticação:
- O cliente envia a solicitação
Auth via social network POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - O parâmetro de caminho
provider_name— nome da rede social conectada ao Login na sua conta. Pode ser:amazon,apple,xsolla,baidu,battlenet,discord,epicgames,facebook,github,google,kakao,linkedin,mailru,microsoft,msn,naver,ok,paypal,qq,reddit,steam,twitch,twitter,vimeo,vk,wechat,weibo,xbox,yahoo,yandex,youtube.
- O parâmetro de consulta
- O usuário faz login em uma rede social.
- O servidor Xsolla Login processa os dados do usuário recebidos da rede social e envia um webhook para o Social Login URL. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON que você fornecer na resposta é gravado no campo
partner_datado JWT do usuário.
Os dados do usuário são passados no cabeçalho Authorization como token de portal temporário (um token de servidor com “request_type”: “gateway_token”.
Principais campos do token de portal:
| Reivindicar | Tipo | Descrição |
|---|---|---|
| exp | Carimbo de data/hora Unix | A data e a hora do vencimento do JWT. A vida útil do JWT é de 7 minutos. Obrigatório. |
| iat | Carimbo de data/hora Unix | A data e a hora em que o JWT é emitido. Obrigatório. |
| iss | string | O serviço que assinou o JWT: https://login.xsolla.com. Obrigatório. |
| request_type | string | Constante: gateway_request. Obrigatório. |
| xsolla_login_project_id | cadeia de caracteres (UUID) | Seu ID de projeto de Login na Conta de Distribuidor. Obrigatório. |
| string | Endereço de e-mail do usuário. | |
| sub | cadeia de caracteres (UUID) | ID do usuário escrito no lado do servidor Xsolla Login. Obrigatório. |
| username | string | Nome de usuário. |
| provider | string | Nome de uma rede social usada para autenticação. Obrigatório. |
| id | string | ID de usuário em uma rede social. Obrigatório. |
| social_access_token | string | Token de acesso da rede social pela qual o usuário fez a autenticação. Para ativar a transmissão dessa reivindicação, entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| partner_data | string | Dados de qualquer tipo são retornados pelo seu servidor no corpo de resposta durante a autenticação. Para habilitar a transmissão dessa reivindicação, contate seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| Reivindicar | Tipo | Descrição |
|---|---|---|
| exp | Carimbo de data/hora Unix | A data e a hora do vencimento do JWT. A vida útil do JWT é de 7 minutos. Obrigatório. |
| iat | Carimbo de data/hora Unix | A data e a hora em que o JWT é emitido. Obrigatório. |
| iss | string | O serviço que assinou o JWT: https://login.xsolla.com. Obrigatório. |
| request_type | string | Constante: gateway_request. Obrigatório. |
| xsolla_login_project_id | cadeia de caracteres (UUID) | Seu ID de projeto de Login na conta. Obrigatório. |
| string | Endereço de e-mail do usuário. | |
| sub | cadeia de caracteres (UUID) | ID do usuário escrito no lado do servidor Xsolla Login. Obrigatório. |
| username | string | Nome de usuário. |
| provider | string | Nome de uma rede social usada para autenticação. Obrigatório. |
| id | string | ID de usuário em uma rede social. Obrigatório. |
| social_access_token | string | Token de acesso da rede social pela qual o usuário fez a autenticação. Para ativar a transmissão dessa reivindicação, entre em contato com seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
| partner_data | string | Dados de qualquer tipo são retornados pelo seu servidor no corpo de resposta durante a autenticação. Para habilitar a transmissão dessa reivindicação, contate seu Gerente de Sucesso do Cliente ou envie um e-mail para [email protected]. |
Exemplo de uma carga útil de token:
- json
1{
2 "exp": 1573635020,
3 "iat": 1573634600,
4 "iss": "https://login.xsolla.com",
5 "request_type": "gateway_request",
6 "xsolla_login_project_id": "00000000-0000-0000-0000-000000000000",
7 "sub": "00000000-0000-0000-0000-000000000000",
8 "email": "[email protected]",
9 "username": "Smith707",
10 "provider": "google",
11 "id": "123",
12}
Exemplo de webhook de URL de login social:
http
- http
- curl
1POST https://your.hostname/your_social_authentication_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
1curl --request POST \
2 --url 'https://your.hostname/your_social_authentication_uri' \
3 --header 'authorization: bearer_JWT' \
4 --header 'content-type: application/json'
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
- Se a autenticação do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, como011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
Redefinição de senha do usuário
- O cliente envia a solicitação
Reset password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros obrigatórios:- Parâmetro de pesquisa
projectId— ID do projeto Login na Conta de Distribuidor. - O parâmetro do corpo
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.
- Parâmetro de pesquisa
- O servidor Xsolla Login envia um webhook ao URL de redefinição de senha.
- Se a redefinição de senha do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe um objeto de
errorcom os seguintes detalhes:- No parâmetro
code, especifique011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente envia a solicitação
Reset password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros obrigatórios:- Parâmetro de pesquisa
projectId— ID do projeto Login na conta de jogos móveis. - O parâmetro do corpo
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.
- Parâmetro de pesquisa
- O servidor Xsolla Login envia um webhook ao URL de redefinição de senha.
- Se a redefinição de senha do usuário não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe um objeto de
errorcom os seguintes detalhes:- No parâmetro
code, especifique011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
- O cliente envia a solicitação
Reset password POSTao servidor Xsolla Login. A solicitação deve incluir os seguintes parâmetros necessários:- O parâmetro de consulta
projectId— ID do projeto Login na sua conta. - O parâmetro do corpo
username— nome do usuário. Comprimento permitido: 3 a 255 caracteres.
- O parâmetro de consulta
- O servidor Xsolla Login envia um e-mail de confirmação de redefinição de senha para o usuário.
- Após confirmar a redefinição de senha no e-mail, o usuário é redirecionado para a página onde pode inserir uma nova senha.
- O usuário insere uma nova senha.
- O servidor Xsolla Login envia um webhook para o Password reset URL.
- Se a redefinição de senha não for bem-sucedida, você poderá fornecer uma mensagem de erro que será exibida no widget de autenticação. Para fazer isso, na resposta à solicitação de criação do usuário, passe o objeto
errorcom os seguintes detalhes:- No parâmetro
code, especifique um código de erro, por exemplo011-002. - No parâmetro
description, forneça o texto da mensagem de erro.
- No parâmetro
http
- http
- curl
1POST https://your.hostname/your_reset_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{
6 "username": "[email protected]",
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":"[email protected]","fields":{"password":"NewPa$$word1"}}'
Atualização de token
- Quando o token de acesso expira, o cliente envia o ponto de extremidade da solicitação Generate JWT
POSTno servidor Xsolla Login. O corpo da solicitação deve incluir os seguintes parâmetros:grant_type— tipo de concessão JWT, passe o valorrefresh_token.client_id— ID de Cliente OAuth 2.0.refresh_token— atualize o token recebido em resposta à solicitação de autorização do usuário.
- O servidor de Xsolla Login processa os dados do usuário recebidos da rede social e envia um webhook para o URL de atualização de token. A resposta deve estar no formato descrito no fluxo de interação. Na resposta, você pode especificar uma lista de atributos de usuário e/ou qualquer objeto JSON necessário. O objeto JSON fornecido em resposta é registrado no campo
partner_datado JWT do usuário.
- http
1POST https://your.hostname/your_refrsh_token_uri HTTP/1.1
2Authorization: Bearer {JWT}
3Content-Type: application/json
4
5{}
Exemplo de uma resposta a um webhook com atributos de usuário:
- 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}
Exemplo de uma resposta a um webhook com um objeto JSON:
- json
1{
2 "user": {
3 "player_id": "12345678",
4 "email": "[email protected]"
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}
Continuar lendo
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.