O que é o SSO EasyGoal?
O SSO (Single Sign-On) é o serviço de autenticação centralizado do ecossistema Easy Goal. Ele:- Autentica usuários usando Supabase Auth (email/senha + OAuth Google, GitHub, Azure/Microsoft)
- Emite um cookie
eg_session(JWT assinado) compartilhável em subdomínios.easygoal.com.br - Injeta
?eg_session=<token>nos redirects cross-domain para apps internos autorizados - Para apps externos: emite um
eg_tokentemporário trocável viaPOST /auth/verify - Recebe webhooks do app-front quando um pagamento é confirmado
Fluxo resumido
O parâmetro de redirect é
redirect_to (não redirect_uri). Use sempre redirect_to ao construir URLs de redirecionamento para o SSO. A URL de callback do seu app precisa estar previamente registrada junto ao time Easy Goal.Cookie eg_session
O eg_session é um JWT assinado com SSO_JWT_SECRET e setado em:
httpOnly: true— não acessível por JavaScriptdomain: .easygoal.com.brem produção — compartilhado entre todos os subdomínios
eg_session:
Não há claim
role ou discord_id no eg_session. A autorização de administrador é verificada internamente pelo app-front, fora do fluxo de claims do eg_session.Integração via @easygoal/packages/auth (recomendado)
Para conectar um app ao SSO, use o package do monorepo. Ele encapsula o handleAuthCallback, EgSessionProvider e hook useEgSession.
Veja o fluxo completo em Autenticação Cross-Domain.
Endpoints do SSO
Checklist de integração
Registrar a URL de callback do seu app junto ao time Easy Goal
Implementar
POST /api/webhook/payment com verificação HMAC SHA256 (se aplicável ao seu fluxo)Testar o fluxo completo de login e o recebimento do
eg_session