feat: implement Google OAuth support for Android and iOS

- Added support for Google OAuth with separate client IDs for Android and iOS.
- Updated `verify_google_id_token` to validate `aud` against both client IDs and check `email_verified`.
- Modified `google_oauth_handler` to accept and process the new client IDs.
- Enhanced security by enforcing explicit JWT algorithm validation.
- Updated mobile app to handle Google OAuth flow using `expo-auth-session`.
- Fixed API request to send `id_token` in snake_case as expected by the backend.
- Added necessary environment variables for Google client IDs in mobile app.
- Implemented intent filter for Google OAuth redirect in AndroidManifest.xml.
This commit is contained in:
2026-03-19 15:24:08 -03:00
parent 31c47fe69f
commit 34cbd4a861
16 changed files with 972 additions and 220 deletions
+6 -2
View File
@@ -11,7 +11,9 @@
"resizeMode": "contain",
"backgroundColor": "#1E1B18"
},
"assetBundlePatterns": ["**/*"],
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet": false,
"bundleIdentifier": "com.meowspool.app"
@@ -36,7 +38,9 @@
"cameraPermission": "O MeowSpool precisa da câmera para escanear QR Codes de filamentos."
}
],
"react-native-nfc-manager"
"react-native-nfc-manager",
"expo-web-browser",
"./plugins/withGoogleOAuth"
],
"experiments": {
"typedRoutes": true