|
Some checks are pending
Build Android (APK + AAB) / build-android (push) Waiting to run
Problema: Google Sign-In popup (GSI) não funciona em WebView nativo do Capacitor. FedCM bloqueia, popup não abre, ou retorna erro silenciosamente. Solução: detectar Capacitor (window.Capacitor) ou WebView (UA com 'wv') e usar OAuth redirect tradicional + polling em vez do popup GSI. Backend (server/src/index.js): - GET /api/auth/google/start — gera URL OAuth com state contendo session_id + flow:'login'. App chama isso e abre URL no browser externo. - /api/google/callback adaptado — quando state.flow=='login', cria/loga user por email do Google, gera JWT, armazena em pendingGoogleSessions (Map em memória, TTL 10min) por session_id, mostra HTML "logado, volte pro app". - GET /api/auth/google/poll?session=xxx — app faz polling 2s. Retorna 204 se ainda esperando, 200 com tokens (one-shot, deleta após). Frontend (app/diario-bordo.html): - Detecta Capacitor/WebView, força fluxo redirect+polling - Browser web: tenta GSI popup primeiro, fallback redirect se prompt for bloqueado (FedCM/popup blocker) - window.open abre Custom Tabs no Android (ou nova aba no PC) - Timeout de 4min (120 tries × 2s) pro polling Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| diario-bordo.html | ||