Skip to main content
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 o EgSessionProvider, que disponibiliza useEgSession() para qualquer componente client-side:

2. Botão de login

O login é disparado client-side com o hook useSSOLogin, 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:
Não há 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 do eg_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.

7. Variáveis de ambiente