enhance Google OAuth handling by adding deep link redirect support; update comments for clarity

This commit is contained in:
bobbert committed 2026-02-22 23:03:39 +00:00
1 parent d865708e28
commit eaa0a38a44
2 files changed
+8 -5

No files matched your search

+4
View File
@@ -4,6 +4,7 @@ import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { ActivityIndicator, View, Text, TouchableOpacity } from 'react-native'; import { ActivityIndicator, View, Text, TouchableOpacity } from 'react-native';
import * as WebBrowser from 'expo-web-browser';
import { ThemeProvider, useTheme } from './src/services/ThemeContext'; import { ThemeProvider, useTheme } from './src/services/ThemeContext';
import DatabaseService from './src/services/DatabaseService'; import DatabaseService from './src/services/DatabaseService';
import LoginScreen from './src/screens/LoginScreen'; import LoginScreen from './src/screens/LoginScreen';
@@ -14,6 +15,9 @@ import SearchScreen from './src/screens/SearchScreen';
import CollectionsScreen from './src/screens/AlbumsScreen'; import CollectionsScreen from './src/screens/AlbumsScreen';
import SettingsScreen from './src/screens/SettingsScreen'; import SettingsScreen from './src/screens/SettingsScreen';
// Required for OAuth deep link redirect to close the browser and return to the app
WebBrowser.maybeCompleteAuthSession();
const Stack = createNativeStackNavigator(); const Stack = createNativeStackNavigator();
const Tab = createBottomTabNavigator(); const Tab = createBottomTabNavigator();
+4 -5
View File
@@ -6,10 +6,9 @@ WebBrowser.maybeCompleteAuthSession();
const GOOGLE_CLIENT_ID = '313090284964-rgq1u7np6ogucu9o97s134n5nc6nj7kf.apps.googleusercontent.com'; const GOOGLE_CLIENT_ID = '313090284964-rgq1u7np6ogucu9o97s134n5nc6nj7kf.apps.googleusercontent.com';
// makeRedirectUri uses the scheme from app.json ("media-aggregation") to build // Builds the deep link redirect URI from the scheme defined in app.json ("media-aggregation").
// the deep link URI that Android will route back into the app after OAuth. // On an Android APK this resolves to: media-aggregation://
// The resulting URI is: media-aggregation:// (registered in Google Cloud Console) // Register this URI in Google Cloud Console → Authorized redirect URIs.
// For Expo Go dev testing the loopback http://localhost is used instead.
const REDIRECT_URI = AuthSession.makeRedirectUri({ scheme: 'media-aggregation' }); const REDIRECT_URI = AuthSession.makeRedirectUri({ scheme: 'media-aggregation' });
const GOOGLE_DISCOVERY = { const GOOGLE_DISCOVERY = {
@@ -91,7 +90,7 @@ class GoogleAUTH extends AuthServiceBase {
return { return {
success: true, success: true,
accessToken: this.accessToken, accessToken: this.accessToken,
refreshToken: null, refreshToken: this.refreshToken,
email: this.email, email: this.email,
}; };
} catch (error) { } catch (error) {