Login / Armazenamento Firebase
  Voltar aos Documentos

Login

Armazenamento Firebase

Se você usa o armazenamento do Firebase, você tem acesso a:

Observação
Você pode usar a extensão Firebase para enviar boletins informativos aos usuários, por exemplo, sobre promoções ou atualizações.

Fluxo de interação

Você pode usar o widget de Login ou seu aplicativo como um cliente. O fluxo de interação entre o cliente e o servidor Xsolla Login é o seguinte:

  1. O cliente envia solicitações para o servidor Xsolla Login. O formato de solicitações é descrito em pontos de extremidade JWT, OAuth 2.0 e Password.
  2. O servidor Xsolla Login envia solicitações para o Firebase.
  3. O servidor Xsolla Login processa uma resposta do Firebase e retorna resultados para o cliente.
  4. O cliente processa a resposta.

Observação
Todas as informações do usuário, exceto pelas senhas, são armazenados no lado da Xsolla.

Fluxo de cadastro de usuários

  1. O cliente envia a solicitação Register new user para o servidor Xsolla Login.
  2. O servidor Xsolla Login envia uma solicitação de registro para o Firebase.
  3. Os dados do usuário são gravados no banco de dados Xsolla.
  4. O status do endereço de e-mail do usuário é verificado:
    • Se o usuário não tiver verificado anteriormente seu endereço de e-mail no Firebase, ele receberá um e-mail de confirmação desse sistema. Assim que o usuário confirma seu endereço de e-mail, ele é automaticamente confirmado no servidor Xsolla Login.
    • Se o endereço de e-mail do usuário tiver sido verificado no Firebase, imediatamente após o registro, o usuário será autorizado e redirecionado para o URL de retorno de chamada especificado ao criar o projeto Login.

Autenticação via endereço de e-mail e senha do usuário

Há dois tipos de autenticação via endereço de e-mail e senha do usuário: autenticação baseada no padrão JWT e autenticação baseada no protocolo OAuth 2.0.

Observação
  • Se não houver nenhuma entrada para o usuário no banco de dados Xsolla, será criada uma entrada.
  • O servidor Xsolla Login solicita os seguintes dados do usuário do Firebase e os atualiza no banco de dados Xsolla: status de confirmação de e-mail, avatar e nome de exibição (se houver).

Fluxo de autenticação baseado no padrão JWT

  1. O cliente envia a solicitação Auth by username and password para o servidor Xsolla Login.
  2. O servidor Xsolla Login envia a solicitação de autenticação para o Firebase.
  3. O servidor Xsolla Login gera um JWT de usuário, enquanto:
    • O valor localId da resposta à solicitação do Firebase é gravado na declaração external_account_id.
    • O valor do Firebase ID token da resposta à solicitação do Firebase é gravado na declaração firebase_id_token.
    • O valor Firebase refresh token da resposta à solicitação do Firebase é gravado na declaração firebase_refresh_token.
  4. O usuário é redirecionado para login_url com um parâmetro de consulta token. O JWT do usuário é gravado no parâmetro token.

Fluxo de autenticação baseado no protocolo OAuth 2.0

  1. O cliente envia a solicitação Auth by username and password com o parâmetro redirect_uri para o servidor Xsolla Login.
  2. O servidor Xsolla Login envia a solicitação de autenticação para o Firebase.
  3. O servidor Xsolla Login retorna junto com code no parâmetro de consulta e o parâmetro redirect_uri passado.
  4. O usuário é redirecionado para redirect_uri com o parâmetro de consulta code.
  5. O cliente envia a solicitação Generate JWT para o servidor Xsolla Login para trocar o code recebido por um JWT do usuário.
  6. O servidor Xsolla Login gera um JWT de usuário, enquanto:
    • O valor localId da resposta à solicitação do Firebase é gravado na declaraçãoexternal_account_id.
    • O valor do Firebase ID token da resposta à solicitação do Firebase é gravado na declaração firebase_id_token.
    • O valor Firebase refresh token da resposta à solicitação do Firebase é gravado na declaração firebase_refresh_token.

Autenticação via redes sociais

Somente a autenticação via Google e Facebook é suportada. Dois cenários de autenticação estão disponíveis: autenticação baseada no padrão JWT e autenticação baseada no protocolo OAuth 2.0.

Fluxo de autenticação baseado no padrão JWT

  1. O usuário inicia a autorização clicando no botão do widget ou através do método Login API.
  2. O usuário é redirecionado para a página de login da rede social onde insere suas credenciais.
  3. A rede social retorna informações sobre o usuário junto com seu token de acesso ao servidor Xsolla Login.
  4. O servidor Xsolla Login envia uma solicitação de autenticação ao Firebase com esse token por meio do método Sign in with OAuth credential.
  5. O servidor Xsolla Login gera um JWT de usuário, enquanto:
    • O valor localId da resposta à solicitação do Firebase é gravado na declaração external_account_id.
    • O valor Firebase ID token da resposta à solicitação do Firebase é gravado na declaração firebase_id_token.
    • O valor do Firebase refresh token da resposta à solicitação do Firebase é gravado na declaração firebase_refresh_token.
  6. O usuário é redirecionado para login_url com um parâmetro de consulta token. O JWT do usuário é gravado no parâmetro token.

Fluxo de autenticação baseado no protocolo OAuth 2.0

  1. O usuário inicia a autorização clicando no botão do widget ou através do método Login API.
  2. O usuário é redirecionado para a página de login da rede social onde insere suas credenciais.
  3. A rede social retorna informações sobre o usuário junto com seu token de acesso ao servidor Xsolla Login.
  4. O servidor Xsolla Login envia uma solicitação de autenticação ao Firebase com esse token por meio do método Sign in with OAuth credential.
  5. O servidor Xsolla Login retorna junto com code no parâmetro de consulta e o parâmetro redirect_uri passado.
  6. O usuário é redirecionado para redirect_uri com o parâmetro de consulta code.
  7. O cliente envia a solicitação Generate JWT para o servidor Xsolla Login para trocar o code recebido por um JWT de usuário.
  8. O servidor de Xsolla Login gera o JWT do usuário, enquanto:
    • O valor localId da resposta à solicitação do Firebase é gravado na declaração external_account_id.
    • O valor Firebase ID token da resposta à solicitação do Firebase é gravado na declaração firebase_id_token.
    • O valor Firebase refresh token da resposta à solicitação do Firebase é gravado na declaração firebase_refresh_token.

Bloqueio de usuários

Você pode bloquear usuários por meio da Conta de Distribuidor. Os usuários bloqueados não podem ser autenticados. O bloqueio é gravado e armazenado apenas no lado Xsolla.

Este artigo foi útil?
Obrigado!
Podemos melhorar alguma coisa? Mensagem
Que pena ouvir isso
Explique porque este artigo não foi útil para você. Mensagem
Obrigado pelo seu feedback!
Avaliaremos sua mensagem e a usaremos para melhorar sua experiência.

Continuar lendo

Última atualização: 30 de Agosto de 2024

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!