Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Ativar a proteção de enumeração de e-mails

Este guia mostra como ativar a proteção contra enumeração de e-mails.

Visão geral

A enumeração de e-mail é um tipo de ataque de força bruta em que um ator malicioso tenta adivinhar ou confirmar usuários em um sistema passando um endereço de e-mail para a API e verificando a resposta.

Nos exemplos a seguir, a proteção de enumeração de e-mails está desativada. O Identity Platform retorna informações que podem ser usadas em um ataque de enumeração de e-mails:

  • Uma tentativa de login com um endereço de e-mail que não existe no sistema é feita. O Identity Platform retorna um erro EMAIL_NOT_FOUND.

  • Houve uma tentativa de inscrição com um endereço de e-mail que já existe no sistema. O Identity Platform retorna um erro EMAIL_EXISTS.

Use o recurso de proteção de enumeração de e-mails do Identity Platform para proteger as contas de usuário no seu app contra ataques. A proteção contra enumeração de e-mails oferece os seguintes recursos:

  • Casos de login e inscrição inválidos retornam uma resposta de erro INVALID_LOGIN_CREDENTIALS.
  • Remove as respostas de erro para fluxos de verificação de e-mail. Se o endereço de e-mail existir, um e-mail de verificação será enviado. Se ele não existir, um e-mail de verificação não será enviado.
  • Impede que os usuários alterem o endereço de e-mail sem verificar o novo endereço primeiro.
  • Desativa a listagem de métodos de login de um endereço de e-mail especificado ao chamar createAuthUri.

Ativar a proteção de enumeração de e-mails

Para ativar a proteção de enumeração de e-mails, siga estas etapas:

  1. No console do Google Cloud, exiba um token de acesso para o ID do projeto usando o comando gcloud auth print-access-token:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Ative a proteção de enumeração de e-mails para seu ID do projeto usando a API Identity Toolkit:

    curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"true"}}" \
        -H 'Authorization: Bearer ACCESS_TOKEN' \
        -H 'Content-Type: application/json' \
        "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
    

Substitua:

  • ACCESS_TOKEN: o token de acesso gerado anteriormente.
  • PROJECT_ID: ID do projeto

Desativar a proteção de enumeração de e-mails

Para desativar a proteção de enumeração de e-mails, siga estas etapas:

  1. No console do Google Cloud, exiba um token de acesso para o ID do projeto usando o comando gcloud auth print-access-token:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Desative a proteção de enumeração de e-mails usando a API Identity Toolkit:

    curl -X PATCH -d "{'email_privacy_config':{'enable_improved_email_privacy':"false"}}" \
        -H 'Authorization: Bearer ACCESS_TOKEN' \
        -H 'Content-Type: application/json' \
        "https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=email_privacy_config"
    

Substitua:

  • ACCESS_TOKEN: o token de acesso gerado anteriormente.
  • PROJECT_ID: ID do projeto

Exemplo de uma resposta de erro

Se um usuário tentar fazer login com um endereço de e-mail ou senha incorretos ou tentar se inscrever com um endereço de e-mail que já exista no sistema, o Identity Platform retornará um erro semelhante ao seguinte:

{
  "code": "auth/internal-error",
  "message": "{\"error\":{\"code\":400,\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"errors\":[{\"message\":\"INVALID_LOGIN_CREDENTIALS\",\"domain\":\"global\",\"reason\":\"invalid\"}]}}"
}