Skip to main content

Visão Geral

O SSO distribui autenticação para apps em outros domínios de duas formas: O browser envia o cookie eg_session (setado em .easygoal.com.br) naturalmente para todos os subdomínios — o SSO apenas replica o token para apps que não alcançam o cookie.

App Interno — Fluxo com eg_session

Setup mínimo:
O EgSessionProvider/api/auth/session (rota gerada pelo package) que retorna os claims do eg_session cookie.

App Externo — Fluxo com eg_token

Para apps em domínios externos (sem acesso ao cookie .easygoal.com.br):
Setup:
EG_API_KEY é usada server-side em POST /auth/verify. Nunca exponha como NEXT_PUBLIC_. Para apps que precisam iniciar o login via client, use apenas a URL pública do SSO — o api_key só é necessário no callback server-side.

Pré-requisitos para apps externos

  1. Produto registrado e aprovado no SSO
  2. URL do callback registrada no cadastro do produto
  3. API key ativa para o produto

Verificar sessão server-side

Para proteger rotas ou verificar autenticação em Server Components/middleware:
O /auth/check é ideal para middleware de proteção de rotas — não redireciona, apenas retorna JSON com { authenticated, session }.

Checklist de Integração

Produto registrado no SSO (apenas para apps externos)
URL do callback registrada no cadastro do produto
Callback route implementado com createCallbackRoute
EgSessionProvider adicionado ao layout raiz
Variável NEXT_PUBLIC_SSO_URL configurada