fix(mail): Google OAuth redirect_uri auf Reverse-Client-ID

Google iOS-OAuth-Client lehnt `rebreak://...`-Schemes mit
`invalid_request` ab. Reverse-Client-ID-Format ist required.
Empirisch verifiziert 2026-05-28 (siehe memory).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
chahinebrini 2026-05-28 15:23:16 +02:00
parent 96597ffaff
commit 7cc9eb1d6d

View File

@ -34,11 +34,20 @@ export const GOOGLE_OAUTH_SCOPES = [
].join(" ");
/**
* Redirect-URI: identisch zu MS (gleiche Deep-Link-Route in der App).
* Muss in der Google Cloud Console unter "Authorised redirect URIs" registriert sein.
* Android: als Custom URI Scheme (nicht als Android App Link, PKCE-Flow).
* Redirect-URI für Google iOS-OAuth-Client.
*
* Google verlangt für iOS-Client-Type eines von zwei Formaten:
* a) Reverse-Client-ID: `com.googleusercontent.apps.<id>:/oauth2redirect` (gewählt)
* b) Bundle-ID: `org.rebreak.app:/oauth2redirect`
*
* Custom-Schemes wie `rebreak://...` (Microsoft-Pattern) werden mit
* `invalid_request — doesn't comply with OAuth 2.0 policy` rejected.
* Empirisch verifiziert 2026-05-28.
*
* iOS-App muss diesen URL-Scheme in CFBundleURLTypes registrieren.
*/
export const GOOGLE_REDIRECT_URI = "rebreak://auth/mail-oauth-callback";
export const GOOGLE_REDIRECT_URI =
"com.googleusercontent.apps.864178840836-rerbjn5pl31ocd83b2qqpbc8gs2o8ego:/oauth2redirect";
// ── PKCE Helpers ──────────────────────────────────────────────────────────────
// Identisch zu ms-oauth.ts — ausgelagert weil beide Provider PKCE S256 nutzen.