Skip to the content.

🔐 Fluxo de Autenticação

O iFood utiliza uma infraestrutura robusta baseada em Keycloak. Este projeto implementa o fluxo de autenticação programática sem a necessidade de um navegador aberto (Headless).

🛡️ Protocolo PKCE

O sistema utiliza o protocolo Proof Key for Code Exchange (PKCE), que é o padrão de segurança mais moderno para aplicações nativas e SPA.

  1. Gera um par code_verifier e code_challenge.
  2. Inicia o fluxo com o Keycloak enviando o challenge.
  3. Troca o código recebido pelo token final enviando o verifier original.

📧 Fluxo com OTP (One-Time Password)

Para contas com verificação em duas etapas habilitada:

  1. O sistema solicita automaticamente o envio do código para o e-mail do parceiro.
  2. O aplicativo abre um prompt interativo: Digite o código OTP enviado para seu e-mail: .
  3. Após a inserção, o fluxo de troca de tokens continua automaticamente.

🔄 Renovação de Token (Refresh)

Os tokens do iFood expiram em intervalos regulares. Nosso sistema gerencia isso de duas formas:

🧪 Segurança dos Dados


Para ver como estes tokens são usados nas requisições, consulte o Cliente de API.