{"ok":true,"service":"google-oauth-wrapper","rate_limits":{"implementation":"Cloudflare Workers Rate Limiting API","auth_google":"20 / 60s per key per PoP","poc_login":"30 / 60s per key per PoP","extension_bootstrap":"20 / 60s per key per PoP","extension_google_token":"20 / 60s per key per PoP (POST /auth/extension/google-token and /auth/extension/google-refresh share ext_google_token:{ip})","key_shape":"{endpoint}:{client_ip}"},"oauth":{"start":"GET /auth/google","callback":"GET /auth/callback","default_next":"https://atex-lab.com/dashboard.html","default_next_setting":"DEFAULT_POST_LOGIN_URL","post_login_redirect":{"configured":true,"setting":"POST_LOGIN_REDIRECT_ORIGINS","hint":"Comma-separated https origins; ?next= full URL allowed only if origin is listed."},"session_cookie":{"samesite":"None","setting":"SESSION_COOKIE_SAMESITE","domain_setting":"SESSION_COOKIE_DOMAIN","domain":".atex-lab.com","hint":"Product session uses HttpOnly Cookie; cross-site fetch needs CORS + credentials (see src/cors-allowed-origins.js and CORS_ENV)."}},"cors":{"enabled":true,"canonical":"cors-allowed-origins.js + chrome-extension-registry.js (hardlink in resend-api-wrapper; HTTPS + RELEASE / PRE_RELEASE)","profile":"production","profile_setting":"CORS_ENV (production | development)","subdomain_token":"https://*.atex-lab.com"},"auth_session":{"me":"GET /auth/me (Cookie only; Authorization: Bearer rejected)","logout":"POST /auth/logout","bootstrap":"POST /auth/extension/bootstrap","extension_google_token":"POST /auth/extension/google-token (PKCE code exchange; no session cookie)","extension_google_refresh":"POST /auth/extension/google-refresh (refresh_token via server secret; same rate limit key as google-token)","cookie_name":"atex_lab_session","kv_prefix":"atex_lab_session:","absolute_ttl_sec":5184000,"idle_sec":2592000},"poc":{"fake_login_enabled":false,"login":"POST /poc/login (dev/test; sets same product Cookie + KV)","me_removed":"GET /poc/me → 410 Gone (use GET /auth/me)","logout_legacy":"POST /poc/logout (clears product session)","notes":"OAuth callback issues Set-Cookie only (no redirect-chain cookie workaround). Extension: POST /auth/extension/bootstrap with Google access_token once."}}