Conn2Flow
Navegação das docs

Referência / Bibliotecas

Biblioteca oauth.php

Login social com Google e Meta (Facebook): URL de autorização com state, troca do código e leitura do perfil.

Caminho no Gestor bibliotecas/oauth.php

Cliente OAuth 2.0 para entrar com Google ou Meta. Não confundir com a oauth2.php, que é o servidor de tokens da API do Gestor. As telas e a decisão de login ficam no perfil-usuario (opções social-login e oauth-callback).

Configuração

No .env: OAUTH_GOOGLE_CLIENT_ID/OAUTH_GOOGLE_CLIENT_SECRET e OAUTH_META_APP_ID/OAUTH_META_APP_SECRET. Sem o identificador, o provedor fica indisponível (oauth_redirect_url() devolve false).

No console do provedor, cadastre a URL de retorno que oauth_redirect_uri() gera: https://<dominio>/<raiz>/oauth-callback/?provider=google (ou meta). Ela usa url-full-http, sempre com https.

As chaves são lidas só de $_ENV, não de $_CONFIG.

Fluxo

  1. oauth_redirect_url($provider) sorteia um state (128 bits), guarda-o na sessão com o provedor e devolve a URL de autorização. Escopos: openid email profile (Google) e email public_profile (Meta, Graph API v19.0).

  2. O provedor volta com code e state. oauth_validate_state($state) compara com a sessão (hash_equals).

  3. oauth_authenticate_code($provider, $code) troca o código pelo token e lê o perfil. Devolve ['provider', 'uid', 'email', 'nome'] ou false.

oauth_http_post() e oauth_http_get() são os auxiliares de cURL (20 s de tempo limite).

O que o perfil-usuario faz com o perfil

  • Com um vínculo em usuarios_provedores (provedor + uid), entra como esse usuário.

  • Sem vínculo, procura um usuário ativo com o mesmo e-mail e cria o vínculo sozinho.

  • Pela tela de segurança, o usuário logado pode vincular uma conta social à sua.

  • Depois do login social, o 2FA do usuário continua valendo.

Auxiliares internos (usados pelas funções acima; raramente chamados direto): oauth_config().

Funções

Gerado a partir de gestor/bibliotecas/oauth.php · 7 funções

7 de 7

oauth_config

ver no código · linha 30 ↗
oauth_config(string $provider): array|false

Retorna a configuração de endpoints/credenciais de um provedor.

Parâmetros

$providerstring
'google' ou 'meta'.

Retorno

array|false
Configuração ou false se o provedor não for suportado.

oauth_redirect_uri

ver no código · linha 64 ↗
oauth_redirect_uri(string $provider): string

Monta a URI de callback do provedor (calculada a partir do domínio atual).

Parâmetros

$providerstring
'google' ou 'meta'.

Retorno

string
URI de redirecionamento (ex.: https://dominio/_api/auth/callback/google).

oauth_redirect_url

ver no código · linha 84 ↗
oauth_redirect_url(string $provider): string|false

Gera o URL de redirecionamento para a tela de consentimento do provedor. Grava o state (proteção CSRF) e o provedor na sessão.

Parâmetros

$providerstring
'google' ou 'meta'.

Retorno

string|false
URL de autorização ou false se não configurado.

oauth_authenticate_code

ver no código · linha 168 ↗
oauth_authenticate_code(string $provider, string $code): array|false

Troca o código de autorização por um token de acesso e retorna o perfil verificado do usuário.

Parâmetros

$providerstring
'google' ou 'meta'.
$codestring
Código de autorização recebido no callback.

Retorno

array|false
['provider','uid','email','nome'] ou false em erro.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada