@onairos/react-native 3.0.74 → 3.1.0
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/EmailVerificationModal.js +7 -5
- package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
- package/lib/commonjs/components/UniversalOnboarding.js +10 -1
- package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
- package/lib/commonjs/index.js +0 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/apiKeyService.js +278 -27
- package/lib/commonjs/services/apiKeyService.js.map +1 -1
- package/lib/commonjs/services/platformAuthService.js +127 -290
- package/lib/commonjs/services/platformAuthService.js.map +1 -1
- package/lib/commonjs/utils/onairosApi.js +143 -71
- package/lib/commonjs/utils/onairosApi.js.map +1 -1
- package/lib/commonjs/utils/secureStorage.js +123 -1
- package/lib/commonjs/utils/secureStorage.js.map +1 -1
- package/lib/module/components/EmailVerificationModal.js +7 -5
- package/lib/module/components/EmailVerificationModal.js.map +1 -1
- package/lib/module/components/UniversalOnboarding.js +11 -2
- package/lib/module/components/UniversalOnboarding.js.map +1 -1
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/apiKeyService.js +264 -22
- package/lib/module/services/apiKeyService.js.map +1 -1
- package/lib/module/services/platformAuthService.js +125 -287
- package/lib/module/services/platformAuthService.js.map +1 -1
- package/lib/module/utils/onairosApi.js +139 -70
- package/lib/module/utils/onairosApi.js.map +1 -1
- package/lib/module/utils/secureStorage.js +116 -0
- package/lib/module/utils/secureStorage.js.map +1 -1
- package/lib/typescript/components/EmailVerificationModal.d.ts.map +1 -1
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/services/apiKeyService.d.ts +50 -2
- package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
- package/lib/typescript/services/platformAuthService.d.ts +29 -14
- package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
- package/lib/typescript/utils/onairosApi.d.ts +24 -10
- package/lib/typescript/utils/onairosApi.d.ts.map +1 -1
- package/lib/typescript/utils/secureStorage.d.ts +31 -0
- package/lib/typescript/utils/secureStorage.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/EmailVerificationModal.tsx +9 -5
- package/src/components/UniversalOnboarding.tsx +11 -1
- package/src/index.ts +1 -1
- package/src/services/apiKeyService.ts +282 -18
- package/src/services/platformAuthService.ts +216 -412
- package/src/types/index.d.ts +6 -5
- package/src/utils/onairosApi.ts +151 -74
- package/src/utils/secureStorage.ts +122 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { STORAGE_KEYS } from '../constants';
|
|
3
|
+
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
4
|
+
|
|
5
|
+
// JWT token storage key
|
|
6
|
+
const JWT_TOKEN_KEY = 'onairos_jwt_token';
|
|
3
7
|
|
|
4
8
|
// Define OnairosCredentials interface locally to avoid circular dependencies
|
|
5
9
|
|
|
@@ -212,4 +216,116 @@ export const verifyCredentials = async username => {
|
|
|
212
216
|
return false;
|
|
213
217
|
}
|
|
214
218
|
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* JWT Token Storage Functions
|
|
222
|
+
* These functions handle JWT tokens from email verification
|
|
223
|
+
*
|
|
224
|
+
* Note: Main JWT token management is handled in apiKeyService.ts
|
|
225
|
+
* These are utility functions for backwards compatibility
|
|
226
|
+
*/
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Retrieve JWT token
|
|
230
|
+
* @returns JWT token or null if not found
|
|
231
|
+
*/
|
|
232
|
+
export const getJWT = async () => {
|
|
233
|
+
try {
|
|
234
|
+
const token = await AsyncStorage.getItem(JWT_TOKEN_KEY);
|
|
235
|
+
return token;
|
|
236
|
+
} catch (error) {
|
|
237
|
+
console.error('❌ Failed to retrieve JWT token:', error);
|
|
238
|
+
return null;
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Check if JWT token exists
|
|
244
|
+
* @returns True if JWT token exists
|
|
245
|
+
*/
|
|
246
|
+
export const hasJWT = async () => {
|
|
247
|
+
try {
|
|
248
|
+
const token = await AsyncStorage.getItem(JWT_TOKEN_KEY);
|
|
249
|
+
return !!token;
|
|
250
|
+
} catch (error) {
|
|
251
|
+
console.error('❌ Failed to check JWT token:', error);
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Clear JWT token
|
|
258
|
+
*/
|
|
259
|
+
export const clearJWT = async () => {
|
|
260
|
+
try {
|
|
261
|
+
await AsyncStorage.removeItem(JWT_TOKEN_KEY);
|
|
262
|
+
console.log('🗑️ JWT token cleared');
|
|
263
|
+
return true;
|
|
264
|
+
} catch (error) {
|
|
265
|
+
console.error('❌ Failed to clear JWT token:', error);
|
|
266
|
+
return false;
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* Simple base64 decoder for React Native
|
|
272
|
+
*/
|
|
273
|
+
const base64Decode = str => {
|
|
274
|
+
// Add padding if needed
|
|
275
|
+
while (str.length % 4) {
|
|
276
|
+
str += '=';
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Simple base64 decoding
|
|
280
|
+
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
281
|
+
let result = '';
|
|
282
|
+
for (let i = 0; i < str.length; i += 4) {
|
|
283
|
+
const a = chars.indexOf(str.charAt(i));
|
|
284
|
+
const b = chars.indexOf(str.charAt(i + 1));
|
|
285
|
+
const c = chars.indexOf(str.charAt(i + 2));
|
|
286
|
+
const d = chars.indexOf(str.charAt(i + 3));
|
|
287
|
+
const bitmap = a << 18 | b << 12 | c << 6 | d;
|
|
288
|
+
result += String.fromCharCode(bitmap >> 16 & 255);
|
|
289
|
+
if (c !== 64) result += String.fromCharCode(bitmap >> 8 & 255);
|
|
290
|
+
if (d !== 64) result += String.fromCharCode(bitmap & 255);
|
|
291
|
+
}
|
|
292
|
+
return result;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Get JWT token payload (decoded)
|
|
297
|
+
* @returns Decoded JWT payload or null if invalid
|
|
298
|
+
*/
|
|
299
|
+
export const getJWTPayload = async () => {
|
|
300
|
+
try {
|
|
301
|
+
const token = await getJWT();
|
|
302
|
+
if (!token) return null;
|
|
303
|
+
|
|
304
|
+
// Decode JWT payload (middle part of token)
|
|
305
|
+
const parts = token.split('.');
|
|
306
|
+
if (parts.length !== 3) return null;
|
|
307
|
+
const decodedPayload = base64Decode(parts[1]);
|
|
308
|
+
const payload = JSON.parse(decodedPayload);
|
|
309
|
+
return payload;
|
|
310
|
+
} catch (error) {
|
|
311
|
+
console.error('❌ Failed to decode JWT payload:', error);
|
|
312
|
+
return null;
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* Check if JWT token is expired
|
|
318
|
+
* @returns True if token is expired or invalid
|
|
319
|
+
*/
|
|
320
|
+
export const isJWTExpired = async () => {
|
|
321
|
+
try {
|
|
322
|
+
const payload = await getJWTPayload();
|
|
323
|
+
if (!payload || !payload.exp) return true;
|
|
324
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
325
|
+
return payload.exp < currentTime;
|
|
326
|
+
} catch (error) {
|
|
327
|
+
console.error('❌ Failed to check JWT expiration:', error);
|
|
328
|
+
return true;
|
|
329
|
+
}
|
|
330
|
+
};
|
|
215
331
|
//# sourceMappingURL=secureStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","STORAGE_KEYS","mockStorage","Keychain","require","error","console","warn","ACCESS_CONTROL","BIOMETRY_ANY_OR_DEVICE_PASSCODE","ACCESSIBLE","WHEN_UNLOCKED","getGenericPassword","setGenericPassword","resetGenericPassword","isKeychainAvailable","e","safeGetGenericPassword","options","key","service","safeSetGenericPassword","username","password","safeResetGenericPassword","storeCredentials","credentials","existingCredentials","getCredentials","updatedCredentials","createdAt","Date","now","Error","OS","accessControl","accessible","JSON","stringify","parse","hasCredentials","deleteCredentials","updateCredentials","generateDeviceUsername","randomId","Math","random","toString","substring","verifyCredentials"],"sourceRoot":"..\\..\\..\\src","sources":["utils/secureStorage.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAEvC,SAASC,YAAY,QAAQ,cAAc;;
|
|
1
|
+
{"version":3,"names":["Platform","STORAGE_KEYS","AsyncStorage","JWT_TOKEN_KEY","mockStorage","Keychain","require","error","console","warn","ACCESS_CONTROL","BIOMETRY_ANY_OR_DEVICE_PASSCODE","ACCESSIBLE","WHEN_UNLOCKED","getGenericPassword","setGenericPassword","resetGenericPassword","isKeychainAvailable","e","safeGetGenericPassword","options","key","service","safeSetGenericPassword","username","password","safeResetGenericPassword","storeCredentials","credentials","existingCredentials","getCredentials","updatedCredentials","createdAt","Date","now","Error","OS","accessControl","accessible","JSON","stringify","parse","hasCredentials","deleteCredentials","updateCredentials","generateDeviceUsername","randomId","Math","random","toString","substring","verifyCredentials","getJWT","token","getItem","hasJWT","clearJWT","removeItem","log","base64Decode","str","length","chars","result","i","a","indexOf","charAt","b","c","d","bitmap","String","fromCharCode","getJWTPayload","parts","split","decodedPayload","payload","isJWTExpired","exp","currentTime","floor"],"sourceRoot":"..\\..\\..\\src","sources":["utils/secureStorage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailVerificationModal.d.ts","sourceRoot":"","sources":["../../../src/components/EmailVerificationModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAgBrD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"EmailVerificationModal.d.ts","sourceRoot":"","sources":["../../../src/components/EmailVerificationModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAgBrD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA6NxE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA6BxE,OAAO,KAAK,EAAE,wBAAwB,EAAqC,MAAM,UAAU,CAAC;AAmB5F,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,
|
|
1
|
+
{"version":3,"file":"UniversalOnboarding.d.ts","sourceRoot":"","sources":["../../../src/components/UniversalOnboarding.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AA6BxE,OAAO,KAAK,EAAE,wBAAwB,EAAqC,MAAM,UAAU,CAAC;AAmB5F,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA2zClE,CAAC"}
|
|
@@ -8,7 +8,7 @@ export type { OnairosButtonProps, OnairosProps, DataTier, OnairosConfig, TestMod
|
|
|
8
8
|
export { OnairosButton } from './components/OnairosButton';
|
|
9
9
|
export { Onairos } from './components/Onairos';
|
|
10
10
|
export { initializeApiKey, ADMIN_API_KEY, } from './services/apiKeyService';
|
|
11
|
-
export {
|
|
11
|
+
export { getStoredJwtToken, clearStoredTokens, requestEmailVerification, verifyEmailCode, checkEmailVerificationStatus, } from './services/platformAuthService';
|
|
12
12
|
export { executeOnairosFlow } from './utils/programmaticFlow';
|
|
13
13
|
declare const _default: {
|
|
14
14
|
OnairosButton: import("react").ForwardRefExoticComponent<import("./types").OnairosButtonProps & import("react").RefAttributes<import("./components/OnairosButton").OnairosButtonRef>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAChB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAChB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAEL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,eAAe,EACf,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;;;;;AAM9D,wBAGE"}
|
|
@@ -6,8 +6,8 @@ export declare enum ApiKeyType {
|
|
|
6
6
|
INVALID = "invalid"
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Initialize the SDK with API key
|
|
10
|
-
* @param config API configuration including API key
|
|
9
|
+
* Initialize the SDK with developer API key
|
|
10
|
+
* @param config API configuration including developer API key
|
|
11
11
|
*/
|
|
12
12
|
export declare const initializeApiKey: (config: OnairosConfig) => Promise<void>;
|
|
13
13
|
/**
|
|
@@ -43,11 +43,45 @@ export declare const getApiKey: () => string | null;
|
|
|
43
43
|
* @returns True if initialized with valid API key
|
|
44
44
|
*/
|
|
45
45
|
export declare const isApiKeyInitialized: () => boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Store JWT token securely after email verification
|
|
48
|
+
* @param token JWT token from email verification response
|
|
49
|
+
*/
|
|
50
|
+
export declare const storeJWT: (token: string) => Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Load JWT token from storage
|
|
53
|
+
* @returns JWT token or null if not found
|
|
54
|
+
*/
|
|
55
|
+
export declare const loadJWT: () => Promise<string | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Get current JWT token
|
|
58
|
+
* @returns JWT token or null if not available
|
|
59
|
+
*/
|
|
60
|
+
export declare const getJWT: () => string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Clear JWT token (on logout or token expiration)
|
|
63
|
+
*/
|
|
64
|
+
export declare const clearJWT: () => Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Check if user is authenticated with JWT token
|
|
67
|
+
* @returns True if user has valid JWT token
|
|
68
|
+
*/
|
|
69
|
+
export declare const isUserAuthenticated: () => boolean;
|
|
46
70
|
/**
|
|
47
71
|
* Get authenticated headers for API requests
|
|
48
72
|
* @returns Headers object with Authorization and other required headers
|
|
49
73
|
*/
|
|
50
74
|
export declare const getAuthHeaders: () => Record<string, string>;
|
|
75
|
+
/**
|
|
76
|
+
* Get authentication headers for developer API requests
|
|
77
|
+
* @returns Headers with developer API key
|
|
78
|
+
*/
|
|
79
|
+
export declare const getDeveloperAuthHeaders: () => Record<string, string>;
|
|
80
|
+
/**
|
|
81
|
+
* Get authentication headers for user JWT requests
|
|
82
|
+
* @returns Headers with user JWT token
|
|
83
|
+
*/
|
|
84
|
+
export declare const getUserAuthHeaders: () => Record<string, string>;
|
|
51
85
|
/**
|
|
52
86
|
* Make an authenticated API request
|
|
53
87
|
* @param endpoint The API endpoint (relative to base URL)
|
|
@@ -55,6 +89,20 @@ export declare const getAuthHeaders: () => Record<string, string>;
|
|
|
55
89
|
* @returns Response promise
|
|
56
90
|
*/
|
|
57
91
|
export declare const makeAuthenticatedRequest: (endpoint: string, options?: RequestInit) => Promise<Response>;
|
|
92
|
+
/**
|
|
93
|
+
* Make authenticated request with developer API key
|
|
94
|
+
* @param endpoint The API endpoint
|
|
95
|
+
* @param options Fetch options
|
|
96
|
+
* @returns Response promise
|
|
97
|
+
*/
|
|
98
|
+
export declare const makeDeveloperRequest: (endpoint: string, options?: RequestInit) => Promise<Response>;
|
|
99
|
+
/**
|
|
100
|
+
* Make authenticated request with user JWT token
|
|
101
|
+
* @param endpoint The API endpoint
|
|
102
|
+
* @param options Fetch options
|
|
103
|
+
* @returns Response promise
|
|
104
|
+
*/
|
|
105
|
+
export declare const makeUserRequest: (endpoint: string, options?: RequestInit) => Promise<Response>;
|
|
58
106
|
/**
|
|
59
107
|
* Clear the API key validation cache
|
|
60
108
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiKeyService.d.ts","sourceRoot":"","sources":["../../../src/services/apiKeyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"apiKeyService.d.ts","sourceRoot":"","sources":["../../../src/services/apiKeyService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAItE,eAAO,MAAM,aAAa,0BAA0B,CAAC;AAGrD,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAwCD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,WAAkB,aAAa,KAAG,QAAQ,IAAI,CA6D1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,UAW9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,OAE3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,WAAkB,MAAM,KAAG,QAAQ,sBAAsB,CAyHnF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAO,aAAa,GAAG,IAE/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAO,MAAM,GAAG,IAErC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,OAEtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAiB,MAAM,KAAG,QAAQ,IAAI,CAY1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,QAAa,QAAQ,MAAM,GAAG,IAAI,CASrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAO,MAAM,GAAG,IAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAa,QAAQ,IAAI,CAW7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,OAEtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,QAAO,OAAO,MAAM,EAAE,MAAM,CAgBtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,OAAO,MAAM,EAAE,MAAM,CAgB/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,OAAO,MAAM,EAAE,MAAM,CAY1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,aACzB,MAAM,YACP,WAAW,KACnB,QAAQ,QAAQ,CA+DlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,YACP,WAAW,KACnB,QAAQ,QAAQ,CA+DlB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,YACP,WAAW,KACnB,QAAQ,QAAQ,CA+DlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,IAKvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,IAKrC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Initialize the
|
|
3
|
-
* This
|
|
2
|
+
* Initialize the platform auth service
|
|
3
|
+
* This service now uses the two-tier authentication system
|
|
4
4
|
*/
|
|
5
5
|
export declare const initializePlatformAuthService: () => Promise<void>;
|
|
6
6
|
/**
|
|
@@ -76,44 +76,59 @@ export declare const updateGoogleClientIds: (config: {
|
|
|
76
76
|
iosClientId?: string;
|
|
77
77
|
}) => void;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
79
|
+
* Request email verification using developer API key
|
|
80
|
+
* @param email Email address to verify
|
|
81
|
+
* @param testMode Whether to use test mode
|
|
82
|
+
* @returns Promise with verification result
|
|
81
83
|
*/
|
|
82
84
|
export declare const requestEmailVerification: (email: string, testMode?: boolean) => Promise<{
|
|
83
85
|
success: boolean;
|
|
84
86
|
message?: string;
|
|
85
87
|
error?: string;
|
|
86
|
-
requestId?: string;
|
|
87
88
|
}>;
|
|
89
|
+
/**
|
|
90
|
+
* Verify email code and store JWT token
|
|
91
|
+
* @param email Email address
|
|
92
|
+
* @param code Verification code
|
|
93
|
+
* @param testMode Whether to use test mode
|
|
94
|
+
* @returns Promise with verification result and JWT token
|
|
95
|
+
*/
|
|
88
96
|
export declare const verifyEmailCode: (email: string, code: string, testMode?: boolean) => Promise<{
|
|
89
97
|
success: boolean;
|
|
90
98
|
message?: string;
|
|
91
99
|
error?: string;
|
|
92
100
|
existingUser?: boolean;
|
|
93
|
-
|
|
101
|
+
token?: string;
|
|
94
102
|
}>;
|
|
103
|
+
/**
|
|
104
|
+
* Check email verification status
|
|
105
|
+
* @param email Email address
|
|
106
|
+
* @param testMode Whether to use test mode
|
|
107
|
+
* @returns Promise with status result
|
|
108
|
+
*/
|
|
95
109
|
export declare const checkEmailVerificationStatus: (email: string, testMode?: boolean) => Promise<{
|
|
96
110
|
success: boolean;
|
|
97
111
|
isPending?: boolean;
|
|
98
|
-
message?: string;
|
|
99
112
|
error?: string;
|
|
100
113
|
}>;
|
|
101
114
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
115
|
+
* Disconnect a platform (uses developer API key)
|
|
116
|
+
* @param platform Platform to disconnect
|
|
117
|
+
* @param username Username associated with the platform
|
|
118
|
+
* @returns Promise with disconnect result
|
|
104
119
|
*/
|
|
105
120
|
export declare const disconnectPlatform: (platform: string, username: string) => Promise<{
|
|
106
121
|
success: boolean;
|
|
107
|
-
message?: string;
|
|
108
122
|
error?: string;
|
|
109
123
|
}>;
|
|
110
124
|
/**
|
|
111
|
-
*
|
|
112
|
-
*
|
|
125
|
+
* Store PIN for user (uses developer API key for now, should be JWT in future)
|
|
126
|
+
* @param username Username
|
|
127
|
+
* @param pin User PIN
|
|
128
|
+
* @returns Promise with result
|
|
113
129
|
*/
|
|
114
|
-
export declare const
|
|
130
|
+
export declare const storePIN: (username: string, pin: string) => Promise<{
|
|
115
131
|
success: boolean;
|
|
116
|
-
message?: string;
|
|
117
132
|
error?: string;
|
|
118
133
|
}>;
|
|
119
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAuthService.d.ts","sourceRoot":"","sources":["../../../src/services/platformAuthService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platformAuthService.d.ts","sourceRoot":"","sources":["../../../src/services/platformAuthService.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class ApiError extends Error {
|
|
|
16
16
|
constructor(message: string, type: ApiErrorType, code?: string, details?: any);
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Validate user credentials with the API
|
|
19
|
+
* Validate user credentials with the API (uses JWT)
|
|
20
20
|
*/
|
|
21
21
|
export declare const validateCredentials: (username: string, options?: {
|
|
22
22
|
debug: boolean;
|
|
@@ -25,7 +25,7 @@ export declare const validateCredentials: (username: string, options?: {
|
|
|
25
25
|
message?: string;
|
|
26
26
|
}>;
|
|
27
27
|
/**
|
|
28
|
-
* Create a new user account
|
|
28
|
+
* Create a new user account (uses developer API key)
|
|
29
29
|
*/
|
|
30
30
|
export declare const createAccount: (credentials: Partial<OnairosCredentials>, options?: {
|
|
31
31
|
debug: boolean;
|
|
@@ -34,7 +34,7 @@ export declare const createAccount: (credentials: Partial<OnairosCredentials>, o
|
|
|
34
34
|
userId: string;
|
|
35
35
|
}>>;
|
|
36
36
|
/**
|
|
37
|
-
* Authenticate with the API using credentials
|
|
37
|
+
* Authenticate with the API using credentials (uses JWT)
|
|
38
38
|
*/
|
|
39
39
|
export declare const authenticate: (credentials: Partial<OnairosCredentials>, options?: {
|
|
40
40
|
debug: boolean;
|
|
@@ -43,7 +43,7 @@ export declare const authenticate: (credentials: Partial<OnairosCredentials>, op
|
|
|
43
43
|
refreshToken: string;
|
|
44
44
|
}>>;
|
|
45
45
|
/**
|
|
46
|
-
* Refresh authentication token
|
|
46
|
+
* Refresh authentication token (uses JWT)
|
|
47
47
|
*/
|
|
48
48
|
export declare const refreshToken: (refreshToken: string, options?: {
|
|
49
49
|
debug: boolean;
|
|
@@ -52,21 +52,35 @@ export declare const refreshToken: (refreshToken: string, options?: {
|
|
|
52
52
|
refreshToken: string;
|
|
53
53
|
}>>;
|
|
54
54
|
/**
|
|
55
|
-
* Get user's connected platform data
|
|
55
|
+
* Get user's connected platform data (uses JWT)
|
|
56
56
|
*/
|
|
57
|
-
export declare const getPlatformData: (
|
|
57
|
+
export declare const getPlatformData: (platform: string, options?: {
|
|
58
58
|
debug: boolean;
|
|
59
59
|
}) => Promise<ApiResponse<any>>;
|
|
60
60
|
/**
|
|
61
|
-
* Get user profile information
|
|
61
|
+
* Get user profile information (uses JWT)
|
|
62
62
|
*/
|
|
63
|
-
export declare const getUserProfile: (
|
|
63
|
+
export declare const getUserProfile: (options?: {
|
|
64
64
|
debug: boolean;
|
|
65
65
|
}) => Promise<ApiResponse<any>>;
|
|
66
66
|
/**
|
|
67
|
-
* Update user platform connections
|
|
67
|
+
* Update user platform connections (uses JWT)
|
|
68
68
|
*/
|
|
69
|
-
export declare const updatePlatformConnections: (
|
|
69
|
+
export declare const updatePlatformConnections: (platforms: Record<string, any>, options?: {
|
|
70
70
|
debug: boolean;
|
|
71
71
|
}) => Promise<ApiResponse<any>>;
|
|
72
|
+
/**
|
|
73
|
+
* Store user PIN (uses JWT)
|
|
74
|
+
*/
|
|
75
|
+
export declare const storePIN: (username: string, pin: string, options?: {
|
|
76
|
+
debug: boolean;
|
|
77
|
+
}) => Promise<ApiResponse<any>>;
|
|
78
|
+
/**
|
|
79
|
+
* Get current JWT token
|
|
80
|
+
*/
|
|
81
|
+
export declare const getCurrentUserToken: () => Promise<string | null>;
|
|
82
|
+
/**
|
|
83
|
+
* Check if user is authenticated with JWT
|
|
84
|
+
*/
|
|
85
|
+
export declare const isCurrentUserAuthenticated: () => boolean;
|
|
72
86
|
//# sourceMappingURL=onairosApi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onairosApi.d.ts","sourceRoot":"","sources":["../../../src/utils/onairosApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"onairosApi.d.ts","sourceRoot":"","sources":["../../../src/utils/onairosApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKrD,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,CAAC;CACH;AAGD,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,eAAe,GACf,YAAY,GACZ,cAAc,GACd,kBAAkB,GAClB,eAAe,CAAC;AAGpB,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAO9E;AAgND;;GAEG;AACH,eAAO,MAAM,mBAAmB,aACpB,MAAM;;MAEf,QAAQ;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAiBhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,gBACX,QAAQ,kBAAkB,CAAC;;MAEvC,QAAQ,YAAY;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,gBACV,QAAQ,kBAAkB,CAAC;;MAEvC,QAAQ,YAAY;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,MAAM,CAAA;CAAE,CAAC,CAQpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,iBACT,MAAM;;;iBAEgB,MAAM;kBAAgB,MAAM;GAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM;;MAEf,QAAQ,YAAY,GAAG,CAAC,CAI1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;MAExB,QAAQ,YAAY,GAAG,CAAC,CAI1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,cACzB,OAAO,MAAM,EAAE,GAAG,CAAC;;MAE7B,QAAQ,YAAY,GAAG,CAAC,CAK1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,aACT,MAAM,OACX,MAAM;;MAEV,QAAQ,YAAY,GAAG,CAAC,CAK1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAa,QAAQ,MAAM,GAAG,IAAI,CAEjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAO,OAE7C,CAAC"}
|
|
@@ -60,4 +60,35 @@ export declare const generateDeviceUsername: () => string;
|
|
|
60
60
|
* Verify credentials (temporary mock implementation)
|
|
61
61
|
*/
|
|
62
62
|
export declare const verifyCredentials: (username: string) => Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* JWT Token Storage Functions
|
|
65
|
+
* These functions handle JWT tokens from email verification
|
|
66
|
+
*
|
|
67
|
+
* Note: Main JWT token management is handled in apiKeyService.ts
|
|
68
|
+
* These are utility functions for backwards compatibility
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* Retrieve JWT token
|
|
72
|
+
* @returns JWT token or null if not found
|
|
73
|
+
*/
|
|
74
|
+
export declare const getJWT: () => Promise<string | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Check if JWT token exists
|
|
77
|
+
* @returns True if JWT token exists
|
|
78
|
+
*/
|
|
79
|
+
export declare const hasJWT: () => Promise<boolean>;
|
|
80
|
+
/**
|
|
81
|
+
* Clear JWT token
|
|
82
|
+
*/
|
|
83
|
+
export declare const clearJWT: () => Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Get JWT token payload (decoded)
|
|
86
|
+
* @returns Decoded JWT payload or null if invalid
|
|
87
|
+
*/
|
|
88
|
+
export declare const getJWTPayload: () => Promise<any | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Check if JWT token is expired
|
|
91
|
+
* @returns True if token is expired or invalid
|
|
92
|
+
*/
|
|
93
|
+
export declare const isJWTExpired: () => Promise<boolean>;
|
|
63
94
|
//# sourceMappingURL=secureStorage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secureStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/secureStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"secureStorage.d.ts","sourceRoot":"","sources":["../../../src/utils/secureStorage.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,OAAO,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,SAAS,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,MAAM,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC/D,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AA6FD;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBACd,QAAQ,kBAAkB,CAAC,KACvC,QAAQ,OAAO,CAkCjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAa,QAAQ,kBAAkB,GAAG,IAAI,CAaxE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,QAAa,QAAQ,OAAO,CAUtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAa,QAAQ,OAAO,CAUzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,gBACf,QAAQ,kBAAkB,CAAC,KACvC,QAAQ,OAAO,CAEjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,QAAO,MAGzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAAoB,MAAM,KAAG,QAAQ,OAAO,CAazE,CAAC;AAEF;;;;;;GAMG;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAa,QAAQ,MAAM,GAAG,IAAI,CAQpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAa,QAAQ,OAAO,CAQ9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAa,QAAQ,OAAO,CAShD,CAAC;AA+BF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,QAAQ,GAAG,GAAG,IAAI,CAgBxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAa,QAAQ,OAAO,CAWpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -98,14 +98,18 @@ export const EmailVerificationModal: React.FC<EmailVerificationModalProps> = ({
|
|
|
98
98
|
if (result.success) {
|
|
99
99
|
console.log('✅ Email verification successful');
|
|
100
100
|
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
101
|
+
// Check if JWT token was received and stored
|
|
102
|
+
if (result.token) {
|
|
103
|
+
console.log('🎫 JWT token received and stored for user authentication');
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// Use the existingUser flag from the backend response
|
|
107
|
+
const isExistingUser = result.existingUser || false;
|
|
105
108
|
|
|
106
109
|
Alert.alert(
|
|
107
110
|
'Email Verified',
|
|
108
|
-
result.message || 'Your email has been verified successfully
|
|
111
|
+
result.message || 'Your email has been verified successfully!\n\n' +
|
|
112
|
+
(result.token ? 'You are now authenticated and can access user features.' : 'Authentication complete.'),
|
|
109
113
|
[{
|
|
110
114
|
text: 'Continue',
|
|
111
115
|
onPress: () => {
|
|
@@ -525,15 +525,25 @@ export const UniversalOnboarding: React.FC<UniversalOnboardingProps> = ({
|
|
|
525
525
|
});
|
|
526
526
|
|
|
527
527
|
try {
|
|
528
|
-
// Safety check for function availability
|
|
528
|
+
// Safety check for function availability with detailed debugging
|
|
529
|
+
console.log('🔍 Checking requestEmailVerification function availability...');
|
|
530
|
+
console.log('🔍 Type of requestEmailVerification:', typeof requestEmailVerification);
|
|
531
|
+
console.log('🔍 requestEmailVerification function:', requestEmailVerification);
|
|
532
|
+
|
|
529
533
|
if (typeof requestEmailVerification !== 'function') {
|
|
530
534
|
console.error('❌ requestEmailVerification function not available');
|
|
535
|
+
console.error('❌ Available functions from platformAuthService:', {
|
|
536
|
+
requestEmailVerification: typeof requestEmailVerification,
|
|
537
|
+
verifyEmailCode: typeof verifyEmailCode,
|
|
538
|
+
checkEmailVerificationStatus: typeof checkEmailVerificationStatus,
|
|
539
|
+
});
|
|
531
540
|
// In development, just proceed anyway
|
|
532
541
|
console.log('🧪 Proceeding without API call in development mode');
|
|
533
542
|
setStep('verify');
|
|
534
543
|
return;
|
|
535
544
|
}
|
|
536
545
|
|
|
546
|
+
console.log('✅ requestEmailVerification function is available');
|
|
537
547
|
console.log('🔄 Making API call to requestEmailVerification...');
|
|
538
548
|
|
|
539
549
|
// Race between API call and timeout
|
package/src/index.ts
CHANGED
|
@@ -26,7 +26,7 @@ export {
|
|
|
26
26
|
|
|
27
27
|
// Authentication & PIN Management
|
|
28
28
|
export {
|
|
29
|
-
storePinAfterBiometric,
|
|
29
|
+
// storePinAfterBiometric, // TODO: Commented out temporarily - biometric functionality disabled
|
|
30
30
|
getStoredJwtToken,
|
|
31
31
|
clearStoredTokens,
|
|
32
32
|
requestEmailVerification,
|