Skip to content

Sincroniza nome e e-mail do agente a cada login via Google#86

Open
vitfera wants to merge 2 commits into
mapasculturais:masterfrom
vitfera:fix/google-agent-name-sync
Open

Sincroniza nome e e-mail do agente a cada login via Google#86
vitfera wants to merge 2 commits into
mapasculturais:masterfrom
vitfera:fix/google-agent-name-sync

Conversation

@vitfera

@vitfera vitfera commented Jul 12, 2026

Copy link
Copy Markdown

Problema

Ao logar via Google, o nome do usuário não era salvo/atualizado no perfil (campo "Nome do Agente" ficava vazio), diferente do login via gov.br, que já fazia essa sincronização.

Causa: GoogleStrategy não implementava verifyUpdateData(), método chamado pelo Provider::processResponse() em todo login (não só na criação da conta) via method_exists($provider_class, "verifyUpdateData"). Como o método não existia para o Google, a sincronização era sempre pulada — usuários que já tinham conta (nome vazio ou desatualizado) nunca recebiam os dados vindos do Google em logins subsequentes.

Mudanças

  • Adiciona GoogleStrategy::verifyUpdateData(), espelhando o padrão do GovBrStrategy: atualiza name e emailPrivado do perfil sempre que estiverem vazios ou com o placeholder padrão ("Meu Nome").
  • Adiciona suporte ao parâmetro opcional prompt na requisição de autorização ($optionals), permitindo forçar a tela de consentimento do Google via configuração, sem alterar o comportamento padrão (só é enviado se explicitamente configurado).

Contexto

Essa mudança complementa o fix no repositório principal (mapasculturais) que corrige o escopo OAuth solicitado ao Google, que por padrão não incluía profile — por isso a API do Google nunca retornava name/given_name/family_name na resposta, independente de qualquer lógica de sincronização.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant