O Club LP não implementa OAuth manualmente — todo o fluxo (login, callback, sessão) é encapsulado pelo pacote
@easygoal/packages/auth. O código abaixo é um exemplo de referência do padrão usado — adapte os caminhos de arquivo à estrutura do seu próprio projeto.1. Provider de sessão
Envolve a aplicação com oEgSessionProvider, que disponibiliza useEgSession() para qualquer componente client-side:
2. Botão de login
O login é disparado client-side com o hookuseSSOLogin, que redireciona para o SSO passando redirect_to (não redirect_uri) e a API key do produto:
3. Callback
Recebe?eg_session=<token> (e opcionalmente ?next=<path>) do SSO e salva o token em um cookie httpOnly por 7 dias:
access_token, refresh_token, state nem cookie oauth_state nesse fluxo — apenas o eg_session já assinado pelo SSO.
4. Endpoint de sessão
Decodifica o payload doeg_session (sem verificar assinatura — a verificação já foi feita pelo SSO ao emitir o token) e devolve os claims para o EgSessionProvider consumir:
5. Logout
6. Banner com dados do usuário
Não existe uma página/profile dedicada — os dados do usuário aparecem em um banner fixo na própria landing page, lido via useEgSession():
user.isProducer e user.companyName vêm diretamente dos claims is_producer e company_name do eg_session — veja SSO — Visão Geral para a lista completa de claims.