@onairos/react-native 3.0.47 → 3.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/UniversalOnboarding.js +76 -18
- package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
- package/lib/commonjs/index.js +29 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/platformAuthService.js +350 -51
- package/lib/commonjs/services/platformAuthService.js.map +1 -1
- package/lib/module/components/UniversalOnboarding.js +77 -19
- package/lib/module/components/UniversalOnboarding.js.map +1 -1
- package/lib/module/index.js +11 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/platformAuthService.js +345 -50
- package/lib/module/services/platformAuthService.js.map +1 -1
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/services/platformAuthService.d.ts +28 -1
- package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +5 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/components/UniversalOnboarding.tsx +75 -17
- package/src/index.ts +7 -0
- package/src/services/platformAuthService.ts +351 -51
- package/src/types.ts +6 -1
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.testApiConnectivity = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.hasNativeSDK = exports.handleOAuthCallback = exports.getPlatformColor = exports.getAuthEndpoint = void 0;
|
|
6
|
+
exports.updateGoogleClientIds = exports.testApiConnectivity = exports.refreshYouTubeTokens = exports.refreshGoogleTokens = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.hasNativeSDK = exports.handleOAuthCallbackUrl = exports.handleOAuthCallback = exports.getPlatformColor = exports.getAuthEndpoint = void 0;
|
|
7
|
+
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
9
|
// Define types for platform auth configuration
|
|
8
10
|
|
|
9
11
|
// Configuration for each platform's authentication
|
|
10
|
-
|
|
12
|
+
let PLATFORM_AUTH_CONFIG = {
|
|
11
13
|
instagram: {
|
|
12
14
|
hasNativeSDK: false,
|
|
13
15
|
// Instagram uses OAuth WebView flow
|
|
@@ -16,10 +18,14 @@ const PLATFORM_AUTH_CONFIG = {
|
|
|
16
18
|
},
|
|
17
19
|
youtube: {
|
|
18
20
|
hasNativeSDK: true,
|
|
19
|
-
//
|
|
21
|
+
// Native Google Sign-In SDK enabled
|
|
20
22
|
nativeSDKPackage: '@react-native-google-signin/google-signin',
|
|
21
23
|
authEndpoint: 'https://api2.onairos.uk/youtube/authorize',
|
|
22
|
-
color: '#FF0000'
|
|
24
|
+
color: '#FF0000',
|
|
25
|
+
clientId: '1030678346906-lovkuds2ouqmoc8eu5qpo98spa6edv4o.apps.googleusercontent.com',
|
|
26
|
+
redirectUri: 'onairosevents://auth/callback',
|
|
27
|
+
scope: 'https://www.googleapis.com/auth/youtube.readonly',
|
|
28
|
+
responseType: 'code'
|
|
23
29
|
},
|
|
24
30
|
reddit: {
|
|
25
31
|
hasNativeSDK: false,
|
|
@@ -189,65 +195,192 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
189
195
|
* @returns A Promise that resolves to the authentication result
|
|
190
196
|
*/
|
|
191
197
|
exports.initiateOAuth = initiateOAuth;
|
|
192
|
-
const initiateNativeAuth = async platform => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
const initiateNativeAuth = async (platform, username) => {
|
|
199
|
+
if (platform === 'youtube') {
|
|
200
|
+
console.log('🔗 Initiating native Google Sign-In for YouTube');
|
|
201
|
+
try {
|
|
202
|
+
var _userInfo$user, _currentUser$user, _userInfo$user4, _userInfo$user6, _userInfo$user7, _userInfo$user8;
|
|
203
|
+
// Import Google Sign-In dynamically to avoid errors if not installed
|
|
204
|
+
const {
|
|
205
|
+
GoogleSignin,
|
|
206
|
+
statusCodes
|
|
207
|
+
} = require('@react-native-google-signin/google-signin');
|
|
208
|
+
|
|
209
|
+
// Configure Google Sign-In
|
|
210
|
+
await GoogleSignin.configure({
|
|
211
|
+
webClientId: '1030678346906-lovkuds2ouqmoc8eu5qpo98spa6edv4o.apps.googleusercontent.com',
|
|
212
|
+
// Replace with your web client ID
|
|
213
|
+
iosClientId: '1030678346906-lovkuds2ouqmoc8eu5qpo98spa6edv4o.apps.googleusercontent.com',
|
|
214
|
+
// Replace with your iOS client ID
|
|
215
|
+
scopes: ['https://www.googleapis.com/auth/youtube.readonly'],
|
|
216
|
+
offlineAccess: true,
|
|
217
|
+
// CRITICAL: This ensures we get refresh tokens
|
|
218
|
+
hostedDomain: '',
|
|
219
|
+
forceCodeForRefreshToken: true,
|
|
220
|
+
// CRITICAL: Force refresh token on first sign-in
|
|
221
|
+
accountName: '' // Clear to avoid conflicts
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
// Check if Google Play Services are available
|
|
225
|
+
await GoogleSignin.hasPlayServices();
|
|
226
|
+
|
|
227
|
+
// Sign in with Google
|
|
228
|
+
const userInfo = await GoogleSignin.signIn();
|
|
229
|
+
console.log('✅ Google Sign-In successful:', (_userInfo$user = userInfo.user) === null || _userInfo$user === void 0 ? void 0 : _userInfo$user.email);
|
|
230
|
+
|
|
231
|
+
// Get access token for API calls
|
|
232
|
+
const tokens = await GoogleSignin.getTokens();
|
|
233
|
+
console.log('🔑 Got Google tokens');
|
|
234
|
+
|
|
235
|
+
// Get current user info with refresh token
|
|
236
|
+
const currentUser = await GoogleSignin.getCurrentUser();
|
|
237
|
+
console.log('👤 Current user info:', currentUser === null || currentUser === void 0 || (_currentUser$user = currentUser.user) === null || _currentUser$user === void 0 ? void 0 : _currentUser$user.email);
|
|
238
|
+
|
|
239
|
+
// Extract refresh token from server auth code
|
|
240
|
+
let refreshToken = null;
|
|
241
|
+
if (currentUser !== null && currentUser !== void 0 && currentUser.serverAuthCode) {
|
|
242
|
+
console.log('🔄 Server auth code available for refresh token');
|
|
243
|
+
refreshToken = currentUser.serverAuthCode;
|
|
244
|
+
}
|
|
245
|
+
if (!refreshToken) {
|
|
246
|
+
console.warn('⚠️ No refresh token available - token refresh may fail later');
|
|
247
|
+
} else {
|
|
248
|
+
console.log('✅ Refresh token available for YouTube connection');
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Fetch YouTube channel information
|
|
252
|
+
let channelName = 'Unknown Channel';
|
|
253
|
+
let channelId = null;
|
|
197
254
|
try {
|
|
198
|
-
|
|
199
|
-
const {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
// Configure Google Sign-In
|
|
205
|
-
await GoogleSignin.configure({
|
|
206
|
-
scopes: ['https://www.googleapis.com/auth/youtube.readonly'],
|
|
207
|
-
webClientId: 'YOUR_ACTUAL_WEB_CLIENT_ID.apps.googleusercontent.com',
|
|
208
|
-
// Replace with your actual web client ID
|
|
209
|
-
offlineAccess: true,
|
|
210
|
-
hostedDomain: '',
|
|
211
|
-
forceCodeForRefreshToken: true
|
|
255
|
+
console.log('📺 Fetching YouTube channel information...');
|
|
256
|
+
const channelResponse = await fetch('https://www.googleapis.com/youtube/v3/channels?part=snippet&mine=true', {
|
|
257
|
+
headers: {
|
|
258
|
+
'Authorization': `Bearer ${tokens.accessToken}`,
|
|
259
|
+
'Accept': 'application/json'
|
|
260
|
+
}
|
|
212
261
|
});
|
|
262
|
+
if (channelResponse.ok) {
|
|
263
|
+
const channelData = await channelResponse.json();
|
|
264
|
+
if (channelData.items && channelData.items.length > 0) {
|
|
265
|
+
channelName = channelData.items[0].snippet.title;
|
|
266
|
+
channelId = channelData.items[0].id;
|
|
267
|
+
console.log('✅ YouTube channel found:', channelName);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
} catch (channelError) {
|
|
271
|
+
var _userInfo$user2, _userInfo$user3;
|
|
272
|
+
console.log('⚠️ Error fetching YouTube channel info:', channelError);
|
|
273
|
+
channelName = ((_userInfo$user2 = userInfo.user) === null || _userInfo$user2 === void 0 ? void 0 : _userInfo$user2.name) || ((_userInfo$user3 = userInfo.user) === null || _userInfo$user3 === void 0 ? void 0 : _userInfo$user3.email) || 'Unknown Channel';
|
|
274
|
+
}
|
|
213
275
|
|
|
214
|
-
|
|
215
|
-
|
|
276
|
+
// Get authentication info
|
|
277
|
+
let authToken = (await _asyncStorage.default.getItem('onairos_jwt_token')) || (await _asyncStorage.default.getItem('enoch_token')) || (await _asyncStorage.default.getItem('auth_token'));
|
|
278
|
+
const storedUsername = await _asyncStorage.default.getItem('onairos_username');
|
|
279
|
+
const finalUsername = storedUsername || username || ((_userInfo$user4 = userInfo.user) === null || _userInfo$user4 === void 0 ? void 0 : _userInfo$user4.email) || 'youtube_user';
|
|
216
280
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
console.log('
|
|
281
|
+
// Create auth token if needed
|
|
282
|
+
if (!authToken || authToken.trim().length < 20) {
|
|
283
|
+
console.log('🔐 Creating authentication token for YouTube...');
|
|
284
|
+
try {
|
|
285
|
+
var _userInfo$user5;
|
|
286
|
+
const fallbackEmail = ((_userInfo$user5 = userInfo.user) === null || _userInfo$user5 === void 0 ? void 0 : _userInfo$user5.email) || `${finalUsername}@youtube.temp`;
|
|
220
287
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
288
|
+
// Create user accounts and get JWT token
|
|
289
|
+
const onairosSignupResponse = await fetch('https://api2.onairos.uk/register/enoch', {
|
|
290
|
+
method: 'POST',
|
|
291
|
+
headers: {
|
|
292
|
+
'Content-Type': 'application/json'
|
|
293
|
+
},
|
|
294
|
+
body: JSON.stringify({
|
|
295
|
+
email: fallbackEmail,
|
|
296
|
+
username: finalUsername,
|
|
297
|
+
name: finalUsername
|
|
298
|
+
})
|
|
299
|
+
});
|
|
300
|
+
if (onairosSignupResponse.ok) {
|
|
301
|
+
var _onairosResponseData$;
|
|
302
|
+
const onairosResponseData = await onairosSignupResponse.json();
|
|
224
303
|
|
|
225
|
-
|
|
226
|
-
|
|
304
|
+
// Extract token from response
|
|
305
|
+
authToken = onairosResponseData.token || ((_onairosResponseData$ = onairosResponseData.data) === null || _onairosResponseData$ === void 0 ? void 0 : _onairosResponseData$.token) || onairosResponseData.jwt;
|
|
306
|
+
if (authToken) {
|
|
307
|
+
// Store tokens
|
|
308
|
+
await _asyncStorage.default.setItem('onairos_jwt_token', authToken);
|
|
309
|
+
await _asyncStorage.default.setItem('enoch_token', authToken);
|
|
310
|
+
await _asyncStorage.default.setItem('auth_token', authToken);
|
|
311
|
+
await _asyncStorage.default.setItem('onairos_username', onairosResponseData.username || finalUsername);
|
|
312
|
+
console.log('✅ Successfully created and stored authentication token');
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
} catch (tokenError) {
|
|
316
|
+
console.warn('⚠️ Error creating auth token:', tokenError);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
console.log('🔗 Linking YouTube data to user:', finalUsername);
|
|
320
|
+
console.log('📺 YouTube channel name:', channelName);
|
|
227
321
|
|
|
322
|
+
// Send tokens to backend for YouTube data processing
|
|
323
|
+
const backendResponse = await fetch('https://api2.onairos.uk/youtube/native-auth', {
|
|
324
|
+
method: 'POST',
|
|
325
|
+
headers: {
|
|
326
|
+
'Content-Type': 'application/json',
|
|
327
|
+
...(authToken && {
|
|
328
|
+
'Authorization': `Bearer ${authToken}`
|
|
329
|
+
})
|
|
330
|
+
},
|
|
331
|
+
body: JSON.stringify({
|
|
332
|
+
session: {
|
|
333
|
+
username: finalUsername,
|
|
334
|
+
platform: 'youtube',
|
|
335
|
+
timestamp: new Date().toISOString(),
|
|
336
|
+
channelName: channelName,
|
|
337
|
+
channelId: channelId
|
|
338
|
+
},
|
|
339
|
+
googleUser: userInfo.user,
|
|
340
|
+
accessToken: tokens.accessToken,
|
|
341
|
+
idToken: tokens.idToken,
|
|
342
|
+
refreshToken: refreshToken,
|
|
343
|
+
// CRITICAL: Include refresh token
|
|
344
|
+
serverAuthCode: currentUser === null || currentUser === void 0 ? void 0 : currentUser.serverAuthCode,
|
|
345
|
+
userAccountInfo: {
|
|
346
|
+
username: finalUsername,
|
|
347
|
+
email: (_userInfo$user6 = userInfo.user) === null || _userInfo$user6 === void 0 ? void 0 : _userInfo$user6.email,
|
|
348
|
+
authToken: authToken,
|
|
349
|
+
channelName: channelName,
|
|
350
|
+
channelId: channelId,
|
|
351
|
+
userIdentifier: authToken ? `user-${authToken.substring(0, 10)}` : `youtube-${(_userInfo$user7 = userInfo.user) === null || _userInfo$user7 === void 0 ? void 0 : _userInfo$user7.email}`,
|
|
352
|
+
googleId: (_userInfo$user8 = userInfo.user) === null || _userInfo$user8 === void 0 ? void 0 : _userInfo$user8.id
|
|
353
|
+
},
|
|
354
|
+
tokenExpiry: new Date(Date.now() + 3600 * 1000).toISOString(),
|
|
355
|
+
// 1 hour from now
|
|
356
|
+
requestRefreshToken: true
|
|
357
|
+
})
|
|
358
|
+
});
|
|
359
|
+
if (backendResponse.ok) {
|
|
360
|
+
const responseData = await backendResponse.json();
|
|
361
|
+
console.log('✅ YouTube connection processed by backend:', responseData);
|
|
228
362
|
return true;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
statusCodes: StatusCodes
|
|
233
|
-
} = require('@react-native-google-signin/google-signin');
|
|
234
|
-
if (error.code === StatusCodes.SIGN_IN_CANCELLED) {
|
|
235
|
-
console.log('User cancelled the sign-in flow');
|
|
236
|
-
} else if (error.code === StatusCodes.IN_PROGRESS) {
|
|
237
|
-
console.log('Sign-in is in progress already');
|
|
238
|
-
} else if (error.code === StatusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
|
|
239
|
-
console.log('Play services not available or outdated');
|
|
240
|
-
} else {
|
|
241
|
-
console.log('Some other error happened');
|
|
242
|
-
}
|
|
363
|
+
} else {
|
|
364
|
+
const errorData = await backendResponse.text();
|
|
365
|
+
console.error('❌ Backend processing failed:', backendResponse.status, errorData);
|
|
243
366
|
return false;
|
|
244
367
|
}
|
|
368
|
+
} catch (error) {
|
|
369
|
+
console.error('❌ Google Sign-In error:', error);
|
|
370
|
+
const {
|
|
371
|
+
statusCodes: StatusCodes
|
|
372
|
+
} = require('@react-native-google-signin/google-signin');
|
|
373
|
+
if (error.code === StatusCodes.SIGN_IN_CANCELLED) {
|
|
374
|
+
console.log('User cancelled Google Sign-In');
|
|
375
|
+
} else if (error.code === StatusCodes.IN_PROGRESS) {
|
|
376
|
+
console.log('Google Sign-In already in progress');
|
|
377
|
+
} else if (error.code === StatusCodes.PLAY_SERVICES_NOT_AVAILABLE) {
|
|
378
|
+
console.log('Google Play Services not available');
|
|
379
|
+
}
|
|
380
|
+
return false;
|
|
245
381
|
}
|
|
246
|
-
throw new Error(`Native authentication not supported for ${platform}`);
|
|
247
|
-
} catch (error) {
|
|
248
|
-
console.error(`Error initiating native auth for ${platform}:`, error);
|
|
249
|
-
throw error;
|
|
250
382
|
}
|
|
383
|
+
return false;
|
|
251
384
|
};
|
|
252
385
|
|
|
253
386
|
/**
|
|
@@ -314,5 +447,171 @@ const testApiConnectivity = async () => {
|
|
|
314
447
|
};
|
|
315
448
|
}
|
|
316
449
|
};
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* 🔄 REFRESH GOOGLE TOKENS
|
|
453
|
+
*/
|
|
317
454
|
exports.testApiConnectivity = testApiConnectivity;
|
|
455
|
+
const refreshGoogleTokens = async () => {
|
|
456
|
+
try {
|
|
457
|
+
console.log('🔄 Attempting to refresh Google tokens...');
|
|
458
|
+
const {
|
|
459
|
+
GoogleSignin
|
|
460
|
+
} = require('@react-native-google-signin/google-signin');
|
|
461
|
+
const currentUser = await GoogleSignin.getCurrentUser();
|
|
462
|
+
if (!currentUser) {
|
|
463
|
+
console.log('❌ User not signed in to Google, cannot refresh tokens');
|
|
464
|
+
return null;
|
|
465
|
+
}
|
|
466
|
+
const tokens = await GoogleSignin.getTokens();
|
|
467
|
+
console.log('✅ Successfully refreshed Google tokens');
|
|
468
|
+
return {
|
|
469
|
+
accessToken: tokens.accessToken,
|
|
470
|
+
idToken: tokens.idToken
|
|
471
|
+
};
|
|
472
|
+
} catch (error) {
|
|
473
|
+
console.error('❌ Failed to refresh Google tokens:', error);
|
|
474
|
+
|
|
475
|
+
// If refresh fails, try to sign in again
|
|
476
|
+
try {
|
|
477
|
+
console.log('🔄 Refresh failed, attempting re-authentication...');
|
|
478
|
+
const {
|
|
479
|
+
GoogleSignin
|
|
480
|
+
} = require('@react-native-google-signin/google-signin');
|
|
481
|
+
const userInfo = await GoogleSignin.signIn();
|
|
482
|
+
const tokens = await GoogleSignin.getTokens();
|
|
483
|
+
console.log('✅ Re-authentication successful');
|
|
484
|
+
return {
|
|
485
|
+
accessToken: tokens.accessToken,
|
|
486
|
+
idToken: tokens.idToken
|
|
487
|
+
};
|
|
488
|
+
} catch (signInError) {
|
|
489
|
+
console.error('❌ Re-authentication also failed:', signInError);
|
|
490
|
+
return null;
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* 🔄 REFRESH YOUTUBE TOKENS
|
|
497
|
+
*/
|
|
498
|
+
exports.refreshGoogleTokens = refreshGoogleTokens;
|
|
499
|
+
const refreshYouTubeTokens = async () => {
|
|
500
|
+
try {
|
|
501
|
+
var _currentUser$user2;
|
|
502
|
+
console.log('🔄 Refreshing YouTube tokens...');
|
|
503
|
+
|
|
504
|
+
// Get fresh tokens from Google SDK
|
|
505
|
+
const freshTokens = await refreshGoogleTokens();
|
|
506
|
+
if (!freshTokens) {
|
|
507
|
+
console.error('❌ Failed to get fresh tokens from Google SDK');
|
|
508
|
+
return false;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// Get current user info
|
|
512
|
+
const {
|
|
513
|
+
GoogleSignin
|
|
514
|
+
} = require('@react-native-google-signin/google-signin');
|
|
515
|
+
const currentUser = await GoogleSignin.getCurrentUser();
|
|
516
|
+
if (!currentUser) {
|
|
517
|
+
console.error('❌ No current Google user found');
|
|
518
|
+
return false;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// Get stored auth token
|
|
522
|
+
const authToken = (await _asyncStorage.default.getItem('onairos_jwt_token')) || (await _asyncStorage.default.getItem('enoch_token')) || (await _asyncStorage.default.getItem('auth_token'));
|
|
523
|
+
if (!authToken) {
|
|
524
|
+
console.error('❌ No auth token found for YouTube refresh');
|
|
525
|
+
return false;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// Send refreshed tokens to backend
|
|
529
|
+
const refreshResponse = await fetch('https://api2.onairos.uk/youtube/refresh-token', {
|
|
530
|
+
method: 'POST',
|
|
531
|
+
headers: {
|
|
532
|
+
'Content-Type': 'application/json',
|
|
533
|
+
'Authorization': `Bearer ${authToken}`
|
|
534
|
+
},
|
|
535
|
+
body: JSON.stringify({
|
|
536
|
+
accessToken: freshTokens.accessToken,
|
|
537
|
+
idToken: freshTokens.idToken,
|
|
538
|
+
refreshToken: currentUser.serverAuthCode,
|
|
539
|
+
userEmail: (_currentUser$user2 = currentUser.user) === null || _currentUser$user2 === void 0 ? void 0 : _currentUser$user2.email,
|
|
540
|
+
tokenExpiry: new Date(Date.now() + 3600 * 1000).toISOString(),
|
|
541
|
+
timestamp: new Date().toISOString()
|
|
542
|
+
})
|
|
543
|
+
});
|
|
544
|
+
if (refreshResponse.ok) {
|
|
545
|
+
const responseData = await refreshResponse.json();
|
|
546
|
+
console.log('✅ YouTube tokens refreshed successfully:', responseData);
|
|
547
|
+
return true;
|
|
548
|
+
} else {
|
|
549
|
+
const errorData = await refreshResponse.text();
|
|
550
|
+
console.error('❌ YouTube token refresh failed:', refreshResponse.status, errorData);
|
|
551
|
+
return false;
|
|
552
|
+
}
|
|
553
|
+
} catch (error) {
|
|
554
|
+
console.error('❌ Error refreshing YouTube tokens:', error);
|
|
555
|
+
return false;
|
|
556
|
+
}
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* 🎯 ENHANCED OAUTH CALLBACK HANDLER
|
|
561
|
+
*/
|
|
562
|
+
exports.refreshYouTubeTokens = refreshYouTubeTokens;
|
|
563
|
+
const handleOAuthCallbackUrl = url => {
|
|
564
|
+
try {
|
|
565
|
+
console.log('🔍 Processing OAuth callback URL:', url);
|
|
566
|
+
|
|
567
|
+
// Parse the URL
|
|
568
|
+
const parsedUrl = new URL(url);
|
|
569
|
+
|
|
570
|
+
// Extract platform and code
|
|
571
|
+
const platform = parsedUrl.searchParams.get('platform') || parsedUrl.pathname.split('/').find(segment => ['instagram', 'youtube', 'reddit', 'pinterest', 'email'].includes(segment));
|
|
572
|
+
const code = parsedUrl.searchParams.get('code');
|
|
573
|
+
const error = parsedUrl.searchParams.get('error');
|
|
574
|
+
if (error) {
|
|
575
|
+
console.error('❌ OAuth error in callback:', error);
|
|
576
|
+
return {
|
|
577
|
+
success: false
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
if (code && platform) {
|
|
581
|
+
console.log(`✅ OAuth callback processed: ${platform} with code: ${code.substring(0, 10)}...`);
|
|
582
|
+
return {
|
|
583
|
+
platform,
|
|
584
|
+
code,
|
|
585
|
+
success: true
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
console.warn('⚠️ OAuth callback missing platform or code');
|
|
589
|
+
return {
|
|
590
|
+
success: false
|
|
591
|
+
};
|
|
592
|
+
} catch (error) {
|
|
593
|
+
console.error('❌ Error processing OAuth callback:', error);
|
|
594
|
+
return {
|
|
595
|
+
success: false
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* 🔧 UPDATE GOOGLE CLIENT IDS
|
|
602
|
+
* Allows apps to configure their own Google client IDs
|
|
603
|
+
*/
|
|
604
|
+
exports.handleOAuthCallbackUrl = handleOAuthCallbackUrl;
|
|
605
|
+
const updateGoogleClientIds = config => {
|
|
606
|
+
console.log('🔧 Updating Google client IDs configuration');
|
|
607
|
+
if (config.webClientId || config.iosClientId) {
|
|
608
|
+
// Update the YouTube configuration
|
|
609
|
+
PLATFORM_AUTH_CONFIG.youtube = {
|
|
610
|
+
...PLATFORM_AUTH_CONFIG.youtube,
|
|
611
|
+
clientId: config.webClientId || PLATFORM_AUTH_CONFIG.youtube.clientId
|
|
612
|
+
};
|
|
613
|
+
console.log('✅ Google client IDs updated successfully');
|
|
614
|
+
}
|
|
615
|
+
};
|
|
616
|
+
exports.updateGoogleClientIds = updateGoogleClientIds;
|
|
318
617
|
//# sourceMappingURL=platformAuthService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PLATFORM_AUTH_CONFIG","instagram","hasNativeSDK","authEndpoint","color","youtube","nativeSDKPackage","reddit","pinterest","email","platform","config","exports","getAuthEndpoint","getPlatformColor","initiateOAuth","username","appName","console","log","error","Error","state","jsonData","session","oauthState","response","fetch","method","headers","body","JSON","stringify","status","ok","errorText","text","responseData","json","instagramURL","data","redditURL","pinterestURL","youtubeURL","emailURL","url","initiateNativeAuth","GoogleSignin","statusCodes","require","configure","scopes","webClientId","offlineAccess","hostedDomain","forceCodeForRefreshToken","hasPlayServices","userInfo","signIn","tokens","getTokens","StatusCodes","code","SIGN_IN_CANCELLED","IN_PROGRESS","PLAY_SERVICES_NOT_AVAILABLE","handleOAuthCallback","parsedUrl","URL","searchParams","get","isOAuthCallback","startsWith","testApiConnectivity","success","message"],"sourceRoot":"..\\..\\..\\src","sources":["services/platformAuthService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_asyncStorage","_interopRequireDefault","require","e","__esModule","default","PLATFORM_AUTH_CONFIG","instagram","hasNativeSDK","authEndpoint","color","youtube","nativeSDKPackage","clientId","redirectUri","scope","responseType","reddit","pinterest","email","platform","config","exports","getAuthEndpoint","getPlatformColor","initiateOAuth","username","appName","console","log","error","Error","state","jsonData","session","oauthState","response","fetch","method","headers","body","JSON","stringify","status","ok","errorText","text","responseData","json","instagramURL","data","redditURL","pinterestURL","youtubeURL","emailURL","url","initiateNativeAuth","_userInfo$user","_currentUser$user","_userInfo$user4","_userInfo$user6","_userInfo$user7","_userInfo$user8","GoogleSignin","statusCodes","configure","webClientId","iosClientId","scopes","offlineAccess","hostedDomain","forceCodeForRefreshToken","accountName","hasPlayServices","userInfo","signIn","user","tokens","getTokens","currentUser","getCurrentUser","refreshToken","serverAuthCode","warn","channelName","channelId","channelResponse","accessToken","channelData","items","length","snippet","title","id","channelError","_userInfo$user2","_userInfo$user3","name","authToken","AsyncStorage","getItem","storedUsername","finalUsername","trim","_userInfo$user5","fallbackEmail","onairosSignupResponse","_onairosResponseData$","onairosResponseData","token","jwt","setItem","tokenError","backendResponse","timestamp","Date","toISOString","googleUser","idToken","userAccountInfo","userIdentifier","substring","googleId","tokenExpiry","now","requestRefreshToken","errorData","StatusCodes","code","SIGN_IN_CANCELLED","IN_PROGRESS","PLAY_SERVICES_NOT_AVAILABLE","handleOAuthCallback","parsedUrl","URL","searchParams","get","isOAuthCallback","startsWith","testApiConnectivity","success","message","refreshGoogleTokens","signInError","refreshYouTubeTokens","_currentUser$user2","freshTokens","refreshResponse","userEmail","handleOAuthCallbackUrl","pathname","split","find","segment","includes","updateGoogleClientIds"],"sourceRoot":"..\\..\\..\\src","sources":["services/platformAuthService.ts"],"mappings":"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","ignoreList":[]}
|