Autenticação via seu próprio provedor OAuth 2.0.
Como funciona
Você pode adicionar autorização de usuário através da sua rede social usando o protocolo OAuth 2.0. Para habilitar um botão para sua rede social no widget de autorização, especifique os detalhes do provedor na Conta de Distribuidor.

Fluxo de autenticação
%%{init: {'themeVariables': { 'noteBkgColor': 'transparent', 'noteBorderColor': 'transparent' }}}%%
sequenceDiagram
actor User as User
participant TP as 3rd party
participant XL as Xsolla Login
participant OP as Partner OAuth2 Server
User->>TP: Clicks login button
TP->>XL: Calls Auth via social network (Xsolla Login API)
XL->>OP: Calls partner's Authorization URL
alt Success
OP-->>XL: Sends authorization code to https://login.xsolla.com/api/social/callback
else Dependency service unavailable
OP-->>XL: Sends "Dependency service unavailable" error. Error code = "010-035"
end
XL->>OP: Calls partner's Token URL to exchange authorization code to access token
alt Success
OP-->>XL: Sends access token
else Error getting token
OP-->>XL: Sends "Error occurred while getting OAuth 2.0 Access token" error. Error code = "010-015"
end
XL->>OP: Calls partner's Your info URL to get user data
alt Success
OP-->>XL: Sends user data
else Error getting profile
OP-->>XL: Sends "Failed to get social profile" error. Error code = "010-036"
end
XL-->>TP: Returns Xsolla Login token
TP-->>User: User is authenticated
Fluxo de login pela primeira vez
O usuário clica no botão Log in with [Your Platform] no widget de autorização.
O usuário é redirecionado para sua página de login ou consentimento (o endereço é especificado no campo URL de Autorização nas configurações).
O usuário insere as credenciais e aprova o acesso no seu sistema.
Seu sistema redireciona o usuário de volta para a Xsolla com um código de autorização.
A Xsolla contata seu sistema para trocar o código por um token de acesso (o endereço é especificado no campo URL do Token nas configurações).
A Xsolla recupera os dados do perfil do usuário (ID, e-mail, etc.) do seu sistema usando o token de acesso (o endereço é especificado no campo Your info URL nas configurações).
O usuário faz login e retorna ao aplicativo como um usuário autenticado da Xsolla.
Fluxo de usuário recorrente
O usuário clica no botão Log in with [Your Platform] no widget de autorização.
O usuário é redirecionado para sua página de login ou consentimento (o endereço é especificado no campo URL de Autorização nas configurações).
Seu sistema reconhece a sessão ativa e pula a tela de credenciais. Se seu sistema exigir reautenticação a cada visita, o usuário verá o formulário de login novamente.
Seu sistema verifica se o usuário já concedeu os escopos solicitados. Se o consentimento já foi dado e não foi revogado, a tela de consentimento é pulada.
Seu sistema redireciona o usuário de volta para a Xsolla com um código de autorização.
A Xsolla contata seu sistema para trocar o código por um token de acesso (o endereço é especificado no campo URL do Token nas configurações).
A Xsolla recupera os dados atuais do perfil do usuário do seu sistema usando o token de acesso (o endereço é especificado no campo Your info URL nas configurações).
O usuário faz login e retorna ao aplicativo. O fluxo completo normalmente é concluído em poucos segundos sem qualquer interação visível necessária do usuário.
Autenticação falhou
URL de Autorização indisponível (erro 010-035)
O usuário clica no botão Log in with [Your Platform] no widget de autorização.
O usuário é redirecionado para sua página de login ou consentimento (o endereço é especificado no campo URL de Autorização nas configurações).
O servidor OAuth2 do parceiro está indisponível e retorna um erro.
O Xsolla Login recebe um erro “Serviço de dependência indisponível” (010-035) e não prossegue.
Falha na troca de token (erro 010-015)
O usuário clica no botão Log in with [Your Platform] no widget de autorização.
O usuário é redirecionado para sua página de login ou consentimento (o endereço é especificado no campo URL de Autorização nas configurações).
O usuário insere as credenciais e aprova o acesso no seu sistema.
Seu sistema redireciona o usuário de volta para a Xsolla com um código de autorização.
A Xsolla contata seu sistema para trocar o código por um token de acesso (o endereço é especificado no campo URL do Token nas configurações).
O servidor OAuth2 do parceiro falha ao emitir um token e retorna um erro.
O Xsolla Login recebe um erro “Ocorreu um erro ao obter o token de acesso OAuth 2.0” (010-015) e não prossegue.
Falha na recuperação de dados do usuário (erro 010-036)
O usuário clica no botão Log in with [Your Platform] no widget de autorização.
O usuário é redirecionado para sua página de login ou consentimento (o endereço é especificado no campo URL de Autorização nas configurações).
O usuário insere as credenciais e aprova o acesso no seu sistema.
Seu sistema redireciona o usuário de volta para a Xsolla com um código de autorização.
A Xsolla contata seu sistema para trocar o código por um token de acesso (o endereço é especificado no campo URL do Token nas configurações).
A Xsolla recupera os dados do perfil do usuário (ID, e-mail, etc.) do seu sistema usando o token de acesso (o endereço é especificado no campo Your info URL nas configurações).
O servidor OAuth2 do parceiro falha ao retornar os dados do usuário.
O Xsolla Login recebe um erro “Falha ao obter o perfil social” (010-036) e não prossegue.
Como obter
Para habilitar a autorização via OAuth 2.0:
Adicione
https://login.xsolla.com/api/social/oauth2/callbackcomo o URI de redirecionamento permitido nas configurações do seu próprio provedor OAuth 2.0 para evitar falhas de autorização.Abra seu projeto na Conta de Distribuidor e vá para a seção Players > Login.
Clique em Configure no painel de uma opção de login clássico.
Vá para o bloco Authentication e selecione a conexão de login OAuth 2.0.
Preencha os seguintes campos:
Authorization name — nome da integração. Usado para identificação na Conta de Distribuidor. Pode conter dígitos, letras latinas, hífens e sublinhados sem espaços, com um comprimento máximo de 100 caracteres.
Authorization URL — URL do método usado para autenticação do usuário.
Token URL — URL do método usado para obter um token de acesso.
Your info URL — URL do método usado para obter os dados do perfil do usuário (como ID e e-mail) usando o token de acesso.
Client ID — identificador único do cliente no servidor de autorização. Pode conter dígitos, letras latinas, hífens e sublinhados sem espaços, com um comprimento máximo de 255 caracteres.
Client secret key — um ID único gerado pelo seu sistema de autorização. Pode conter dígitos, letras latinas, hífens e sublinhados sem espaços, com um comprimento de 8-255.
Permission scope — a lista de direitos de acesso que seu sistema solicita do usuário durante a autorização (por exemplo,
openid,profile,email).
Configure o Key name map:
Forneça o nome da chave para o endereço de e-mail no seu sistema (opcional).
Forneça o nome da chave para o identificador do usuário no seu sistema.
Na seção Settings, especifique configurações adicionais de autenticação. (opcional):
auth_content_type— o valor do cabeçalhoContent-Type.auth_header— o cabeçalho que passa o token de autorização ao solicitar dados do usuário (autorização no cabeçalho).auth_param— o nome do parâmetro de consulta que passa o token de autorização ao solicitar dados do usuário (autorização no parâmetro).token_type— tipo de token. Valores possíveis:Bearer,OAuth.use_pkce— uma flag indicando o uso da tecnologia PKCE (Proof Key for Code Exchange) durante a autorização. É altamente recomendável ativar isso para garantir o mais alto padrão de segurança.
ObservaçãoOs nomes das chaves devem começar com$., por exemplo,$.response[0].emaile$.response[0].id.

Se você usar a integração via o widget de autorização, configure a personalização:
Especifique o nome do botão de autorização. Comprimento máximo — 30 caracteres.
Faça o upload do seu logotipo. Tamanho recomendado: 24 × 24px. Formatos suportados: JPG, PNG e SVG.
Defina a cor do botão de autorização.
Clique em Save changes.
Se você estiver usando a integração através dos métodos da API Login, configure a transmissão do ID do seu provedor no
provider_nameno seguinte formato:"<authorization_name>-<publisher_id>", onde<authorization_name>— é o nome da integração que você especificou nas configurações do provedor, e<publisher_id>— é o ID do seu projeto na Conta de Distribuidor. Dependendo do protocolo de autorização escolhido, use os seguintes métodos para passar o parâmetroprovider_name:
Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.