@onairos/react-native 3.0.72 โ 3.0.73
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/Onairos.js.map +1 -1
- package/lib/commonjs/index.js +23 -504
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/apiKeyService.js +93 -14
- package/lib/commonjs/services/apiKeyService.js.map +1 -1
- package/lib/commonjs/services/platformAuthService.js +223 -9
- package/lib/commonjs/services/platformAuthService.js.map +1 -1
- package/lib/commonjs/types/index.js +4 -0
- package/lib/commonjs/types.js +12 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/programmaticFlow.js +117 -0
- package/lib/commonjs/utils/programmaticFlow.js.map +1 -0
- package/lib/module/components/Onairos.js.map +1 -1
- package/lib/module/index.js +17 -64
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/apiKeyService.js +90 -11
- package/lib/module/services/apiKeyService.js.map +1 -1
- package/lib/module/services/platformAuthService.js +217 -8
- package/lib/module/services/platformAuthService.js.map +1 -1
- package/lib/module/types/index.js +1 -1
- package/lib/module/types.js +8 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/programmaticFlow.js +111 -0
- package/lib/module/utils/programmaticFlow.js.map +1 -0
- package/lib/typescript/components/Onairos.d.ts +1 -29
- package/lib/typescript/components/Onairos.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +10 -40
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/services/apiKeyService.d.ts +18 -0
- package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
- package/lib/typescript/services/platformAuthService.d.ts +26 -0
- package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +144 -78
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +56 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/programmaticFlow.d.ts +23 -0
- package/lib/typescript/utils/programmaticFlow.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/Onairos.tsx +1 -30
- package/src/index.ts +23 -132
- package/src/services/apiKeyService.ts +84 -8
- package/src/services/platformAuthService.ts +260 -4
- package/src/types/index.d.ts +110 -0
- package/src/types/index.ts +148 -74
- package/src/types.ts +59 -0
- package/src/utils/programmaticFlow.ts +113 -0
|
@@ -3,7 +3,17 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedRequest = exports.isApiKeyInitialized = exports.initializeApiKey = exports.getAuthHeaders = exports.getApiKey = exports.getApiConfig = exports.clearValidationCache = void 0;
|
|
6
|
+
exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedRequest = exports.isApiKeyInitialized = exports.isAdminKey = exports.initializeApiKey = exports.getAuthHeaders = exports.getApiKeyType = exports.getApiKey = exports.getApiConfig = exports.clearValidationCache = exports.ApiKeyType = exports.ADMIN_API_KEY = void 0;
|
|
7
|
+
// Admin key for backend validation
|
|
8
|
+
const ADMIN_API_KEY = exports.ADMIN_API_KEY = 'OnairosIsAUnicorn2025';
|
|
9
|
+
|
|
10
|
+
// API key types
|
|
11
|
+
let ApiKeyType = exports.ApiKeyType = /*#__PURE__*/function (ApiKeyType) {
|
|
12
|
+
ApiKeyType["DEVELOPER"] = "developer";
|
|
13
|
+
ApiKeyType["ADMIN"] = "admin";
|
|
14
|
+
ApiKeyType["INVALID"] = "invalid";
|
|
15
|
+
return ApiKeyType;
|
|
16
|
+
}({});
|
|
7
17
|
/**
|
|
8
18
|
* API Key Service for Onairos React Native SDK
|
|
9
19
|
*
|
|
@@ -16,8 +26,13 @@ exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedR
|
|
|
16
26
|
* 3. Cache validation results for performance
|
|
17
27
|
* 4. Include API key in all authenticated requests
|
|
18
28
|
* 5. Handle API key errors gracefully with developer-friendly messages
|
|
29
|
+
*
|
|
30
|
+
* Backend Integration:
|
|
31
|
+
* - All API requests include: Authorization: Bearer {apiKey}
|
|
32
|
+
* - Backend should validate API keys on each request
|
|
33
|
+
* - Admin key "OnairosIsAUnicorn2025" has full permissions
|
|
34
|
+
* - Developer keys have limited permissions based on validation response
|
|
19
35
|
*/
|
|
20
|
-
|
|
21
36
|
// Global configuration state
|
|
22
37
|
let globalConfig = null;
|
|
23
38
|
let validationCache = new Map();
|
|
@@ -88,17 +103,70 @@ const initializeApiKey = async config => {
|
|
|
88
103
|
}
|
|
89
104
|
};
|
|
90
105
|
|
|
106
|
+
/**
|
|
107
|
+
* Determine API key type
|
|
108
|
+
* @param apiKey The API key to check
|
|
109
|
+
* @returns The type of API key
|
|
110
|
+
*/
|
|
111
|
+
exports.initializeApiKey = initializeApiKey;
|
|
112
|
+
const getApiKeyType = apiKey => {
|
|
113
|
+
if (apiKey === ADMIN_API_KEY) {
|
|
114
|
+
return ApiKeyType.ADMIN;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Developer keys should be at least 32 characters and start with specific prefix
|
|
118
|
+
if (apiKey.length >= 32 && (apiKey.startsWith('dev_') || apiKey.startsWith('pk_'))) {
|
|
119
|
+
return ApiKeyType.DEVELOPER;
|
|
120
|
+
}
|
|
121
|
+
return ApiKeyType.INVALID;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Check if API key is admin key
|
|
126
|
+
* @param apiKey The API key to check
|
|
127
|
+
* @returns True if admin key
|
|
128
|
+
*/
|
|
129
|
+
exports.getApiKeyType = getApiKeyType;
|
|
130
|
+
const isAdminKey = apiKey => {
|
|
131
|
+
return apiKey === ADMIN_API_KEY;
|
|
132
|
+
};
|
|
133
|
+
|
|
91
134
|
/**
|
|
92
135
|
* Validate an API key with the Onairos backend
|
|
93
136
|
* @param apiKey The API key to validate
|
|
94
137
|
* @returns Validation result with permissions and rate limits
|
|
95
138
|
*/
|
|
96
|
-
exports.
|
|
139
|
+
exports.isAdminKey = isAdminKey;
|
|
97
140
|
const validateApiKey = async apiKey => {
|
|
98
141
|
try {
|
|
99
142
|
var _globalConfig2, _globalConfig3;
|
|
100
143
|
console.log('๐ Validating API key...');
|
|
101
144
|
|
|
145
|
+
// Check if it's an admin key
|
|
146
|
+
if (isAdminKey(apiKey)) {
|
|
147
|
+
console.log('๐ Admin key detected - granting full permissions');
|
|
148
|
+
return {
|
|
149
|
+
isValid: true,
|
|
150
|
+
permissions: ['*'],
|
|
151
|
+
// Full permissions for admin
|
|
152
|
+
rateLimits: {
|
|
153
|
+
remaining: 999999,
|
|
154
|
+
resetTime: Date.now() + 24 * 60 * 60 * 1000 // 24 hours
|
|
155
|
+
},
|
|
156
|
+
keyType: ApiKeyType.ADMIN
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Check basic format for developer keys
|
|
161
|
+
const keyType = getApiKeyType(apiKey);
|
|
162
|
+
if (keyType === ApiKeyType.INVALID) {
|
|
163
|
+
return {
|
|
164
|
+
isValid: false,
|
|
165
|
+
error: 'Invalid API key format. Developer keys must be at least 32 characters and start with "dev_" or "pk_"',
|
|
166
|
+
keyType: ApiKeyType.INVALID
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
|
|
102
170
|
// Check cache first
|
|
103
171
|
const cached = validationCache.get(apiKey);
|
|
104
172
|
if (cached && Date.now() - cached.timestamp < CACHE_DURATION) {
|
|
@@ -121,12 +189,15 @@ const validateApiKey = async apiKey => {
|
|
|
121
189
|
headers: {
|
|
122
190
|
'Content-Type': 'application/json',
|
|
123
191
|
'Authorization': `Bearer ${apiKey}`,
|
|
124
|
-
'User-Agent': 'OnairosReactNative/1.0'
|
|
192
|
+
'User-Agent': 'OnairosReactNative/1.0',
|
|
193
|
+
'X-API-Key-Type': keyType
|
|
125
194
|
},
|
|
126
195
|
body: JSON.stringify({
|
|
127
196
|
environment,
|
|
128
|
-
sdk_version: '3.0.
|
|
129
|
-
platform: 'react-native'
|
|
197
|
+
sdk_version: '3.0.72',
|
|
198
|
+
platform: 'react-native',
|
|
199
|
+
keyType,
|
|
200
|
+
timestamp: new Date().toISOString()
|
|
130
201
|
}),
|
|
131
202
|
signal: controller.signal
|
|
132
203
|
});
|
|
@@ -137,7 +208,8 @@ const validateApiKey = async apiKey => {
|
|
|
137
208
|
const result = {
|
|
138
209
|
isValid: true,
|
|
139
210
|
permissions: data.permissions || [],
|
|
140
|
-
rateLimits: data.rateLimits || null
|
|
211
|
+
rateLimits: data.rateLimits || null,
|
|
212
|
+
keyType: keyType
|
|
141
213
|
};
|
|
142
214
|
|
|
143
215
|
// Cache the successful result
|
|
@@ -154,7 +226,8 @@ const validateApiKey = async apiKey => {
|
|
|
154
226
|
const errorMessage = data.error || `HTTP ${response.status}: ${response.statusText}`;
|
|
155
227
|
const result = {
|
|
156
228
|
isValid: false,
|
|
157
|
-
error: errorMessage
|
|
229
|
+
error: errorMessage,
|
|
230
|
+
keyType: keyType
|
|
158
231
|
};
|
|
159
232
|
|
|
160
233
|
// Don't cache failed results
|
|
@@ -170,14 +243,16 @@ const validateApiKey = async apiKey => {
|
|
|
170
243
|
console.error('โฑ๏ธ API key validation timeout');
|
|
171
244
|
return {
|
|
172
245
|
isValid: false,
|
|
173
|
-
error: errorMessage
|
|
246
|
+
error: errorMessage,
|
|
247
|
+
keyType: keyType
|
|
174
248
|
};
|
|
175
249
|
}
|
|
176
250
|
const errorMessage = `Network error during API key validation: ${fetchError.message}`;
|
|
177
251
|
console.error('๐ Network error during API key validation:', fetchError);
|
|
178
252
|
return {
|
|
179
253
|
isValid: false,
|
|
180
|
-
error: errorMessage
|
|
254
|
+
error: errorMessage,
|
|
255
|
+
keyType: keyType
|
|
181
256
|
};
|
|
182
257
|
}
|
|
183
258
|
} catch (error) {
|
|
@@ -185,7 +260,8 @@ const validateApiKey = async apiKey => {
|
|
|
185
260
|
console.error('โ API key validation error:', error);
|
|
186
261
|
return {
|
|
187
262
|
isValid: false,
|
|
188
|
-
error: errorMessage
|
|
263
|
+
error: errorMessage,
|
|
264
|
+
keyType: ApiKeyType.INVALID
|
|
189
265
|
};
|
|
190
266
|
}
|
|
191
267
|
};
|
|
@@ -228,12 +304,15 @@ const getAuthHeaders = () => {
|
|
|
228
304
|
if (!((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.apiKey)) {
|
|
229
305
|
throw new Error('SDK not initialized. Call initializeApiKey() first.');
|
|
230
306
|
}
|
|
307
|
+
const keyType = getApiKeyType(globalConfig.apiKey);
|
|
231
308
|
return {
|
|
232
309
|
'Content-Type': 'application/json',
|
|
233
310
|
'Authorization': `Bearer ${globalConfig.apiKey}`,
|
|
234
|
-
'User-Agent': 'OnairosReactNative/3.0.
|
|
235
|
-
'X-SDK-Version': '3.0.
|
|
236
|
-
'X-SDK-Environment': globalConfig.environment || 'production'
|
|
311
|
+
'User-Agent': 'OnairosReactNative/3.0.72',
|
|
312
|
+
'X-SDK-Version': '3.0.72',
|
|
313
|
+
'X-SDK-Environment': globalConfig.environment || 'production',
|
|
314
|
+
'X-API-Key-Type': keyType,
|
|
315
|
+
'X-Timestamp': new Date().toISOString()
|
|
237
316
|
};
|
|
238
317
|
};
|
|
239
318
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalConfig","validationCache","Map","isInitialized","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","permissions","rateLimits","exports","_globalConfig2","_globalConfig3","cached","get","Date","now","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","getAuthHeaders","_globalConfig7","makeAuthenticatedRequest","endpoint","options","url","startsWith","clearValidationCache","_globalConfig8","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ADMIN_API_KEY","exports","ApiKeyType","globalConfig","validationCache","Map","isInitialized","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","permissions","rateLimits","getApiKeyType","ADMIN","startsWith","DEVELOPER","INVALID","isAdminKey","_globalConfig2","_globalConfig3","remaining","resetTime","Date","now","keyType","cached","get","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","toISOString","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","getAuthHeaders","_globalConfig7","makeAuthenticatedRequest","endpoint","options","url","clearValidationCache","_globalConfig8","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":";;;;;;AAEA;AACO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,uBAAuB;;AAEpD;AAAA,IACYE,UAAU,GAAAD,OAAA,CAAAC,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAMtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,IAAIC,YAAkC,GAAG,IAAI;AAC7C,IAAIC,eAAmF,GAAG,IAAIC,GAAG,CAAC,CAAC;AACnG,IAAIC,aAAa,GAAG,KAAK;;AAEzB;AACA,MAAMC,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;;AAEpC;AACA,MAAMC,aAAa,GAAG;EACpBC,UAAU,EAAE,yBAAyB;EACrCC,OAAO,EAAE,gCAAgC;EACzCC,WAAW,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG,MAAOC,MAAqB,IAAoB;EAC9E,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;IAE1D,IAAI,CAACF,MAAM,CAACG,MAAM,EAAE;MAClB,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IAEA,IAAIJ,MAAM,CAACG,MAAM,CAACE,MAAM,GAAG,EAAE,EAAE;MAC7B,MAAM,IAAID,KAAK,CAAC,sEAAsE,CAAC;IACzF;;IAEA;IACAd,YAAY,GAAG;MACba,MAAM,EAAEH,MAAM,CAACG,MAAM;MACrBG,WAAW,EAAEN,MAAM,CAACM,WAAW,IAAI,YAAY;MAC/CC,aAAa,EAAEP,MAAM,CAACO,aAAa,KAAK,KAAK;MAAE;MAC/CC,OAAO,EAAER,MAAM,CAACQ,OAAO,IAAI,KAAK;MAChCC,aAAa,EAAET,MAAM,CAACS,aAAa,IAAI;IACzC,CAAC;IAED,IAAInB,YAAY,CAACiB,aAAa,EAAE;MAC9BN,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAE;QACnCI,WAAW,EAAEhB,YAAY,CAACgB,WAAW;QACrCE,OAAO,EAAElB,YAAY,CAACkB,OAAO;QAC7BC,aAAa,EAAEnB,YAAY,CAACmB,aAAa;QACzCC,YAAY,EAAEV,MAAM,CAACG,MAAM,CAACQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;QACnDJ,aAAa,EAAEjB,YAAY,CAACiB;MAC9B,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMK,UAAU,GAAG,MAAMC,cAAc,CAACb,MAAM,CAACG,MAAM,CAAC;IAEtD,IAAI,CAACS,UAAU,CAACE,OAAO,EAAE;MACvB,MAAM,IAAIV,KAAK,CAAC,8BAA8BQ,UAAU,CAACG,KAAK,EAAE,CAAC;IACnE;IAEAtB,aAAa,GAAG,IAAI;IAEpB,IAAIH,YAAY,CAACiB,aAAa,EAAE;MAC9BN,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;MACrD,IAAIU,UAAU,CAACI,WAAW,EAAE;QAC1Bf,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEU,UAAU,CAACI,WAAW,CAAC;MAChE;MACA,IAAIJ,UAAU,CAACK,UAAU,EAAE;QACzBhB,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEU,UAAU,CAACK,UAAU,CAAC;MACvD;IACF;EACF,CAAC,CAAC,OAAOF,KAAK,EAAE;IACdd,OAAO,CAACc,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;IAC3DtB,aAAa,GAAG,KAAK;IACrB,MAAMsB,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJA3B,OAAA,CAAAW,gBAAA,GAAAA,gBAAA;AAKO,MAAMmB,aAAa,GAAIf,MAAc,IAAiB;EAC3D,IAAIA,MAAM,KAAKhB,aAAa,EAAE;IAC5B,OAAOE,UAAU,CAAC8B,KAAK;EACzB;;EAEA;EACA,IAAIhB,MAAM,CAACE,MAAM,IAAI,EAAE,KAAKF,MAAM,CAACiB,UAAU,CAAC,MAAM,CAAC,IAAIjB,MAAM,CAACiB,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;IAClF,OAAO/B,UAAU,CAACgC,SAAS;EAC7B;EAEA,OAAOhC,UAAU,CAACiC,OAAO;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAlC,OAAA,CAAA8B,aAAA,GAAAA,aAAA;AAKO,MAAMK,UAAU,GAAIpB,MAAc,IAAc;EACrD,OAAOA,MAAM,KAAKhB,aAAa;AACjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAAmC,UAAA,GAAAA,UAAA;AAKO,MAAMV,cAAc,GAAG,MAAOV,MAAc,IAAsC;EACvF,IAAI;IAAA,IAAAqB,cAAA,EAAAC,cAAA;IACFxB,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;;IAEvC;IACA,IAAIqB,UAAU,CAACpB,MAAM,CAAC,EAAE;MACtBF,OAAO,CAACC,GAAG,CAAC,mDAAmD,CAAC;MAChE,OAAO;QACLY,OAAO,EAAE,IAAI;QACbE,WAAW,EAAE,CAAC,GAAG,CAAC;QAAE;QACpBC,UAAU,EAAE;UACVS,SAAS,EAAE,MAAM;UACjBC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC9C,CAAC;QACDC,OAAO,EAAEzC,UAAU,CAAC8B;MACtB,CAAC;IACH;;IAEA;IACA,MAAMW,OAAO,GAAGZ,aAAa,CAACf,MAAM,CAAC;IACrC,IAAI2B,OAAO,KAAKzC,UAAU,CAACiC,OAAO,EAAE;MAClC,OAAO;QACLR,OAAO,EAAE,KAAK;QACdC,KAAK,EAAE,sGAAsG;QAC7Ge,OAAO,EAAEzC,UAAU,CAACiC;MACtB,CAAC;IACH;;IAEA;IACA,MAAMS,MAAM,GAAGxC,eAAe,CAACyC,GAAG,CAAC7B,MAAM,CAAC;IAC1C,IAAI4B,MAAM,IAAIH,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGE,MAAM,CAACE,SAAS,GAAGvC,cAAc,EAAE;MAAA,IAAAwC,aAAA;MAC5D,KAAAA,aAAA,GAAI5C,YAAY,cAAA4C,aAAA,eAAZA,aAAA,CAAc3B,aAAa,EAAE;QAC/BN,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;MAC1D;MACA,OAAO6B,MAAM,CAACI,MAAM;IACtB;IAEA,MAAM7B,WAAW,GAAG,EAAAkB,cAAA,GAAAlC,YAAY,cAAAkC,cAAA,uBAAZA,cAAA,CAAclB,WAAW,KAAI,YAAY;IAC7D,MAAM8B,OAAO,GAAGzC,aAAa,CAACW,WAAW,CAAC;IAC1C,MAAME,OAAO,GAAG,EAAAiB,cAAA,GAAAnC,YAAY,cAAAmC,cAAA,uBAAZA,cAAA,CAAcjB,OAAO,KAAI,KAAK;;IAE9C;IACA,MAAM6B,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEjC,OAAO,CAAC;IAE/D,IAAI;MACF,MAAMkC,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGP,OAAO,oBAAoB,EAAE;QAC3DQ,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,cAAc,EAAE,kBAAkB;UAClC,eAAe,EAAE,UAAU1C,MAAM,EAAE;UACnC,YAAY,EAAE,wBAAwB;UACtC,gBAAgB,EAAE2B;QACpB,CAAC;QACDgB,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnB1C,WAAW;UACX2C,WAAW,EAAE,QAAQ;UACrBC,QAAQ,EAAE,cAAc;UACxBpB,OAAO;UACPG,SAAS,EAAE,IAAIL,IAAI,CAAC,CAAC,CAACuB,WAAW,CAAC;QACpC,CAAC,CAAC;QACFC,MAAM,EAAEf,UAAU,CAACe;MACrB,CAAC,CAAC;MAEFC,YAAY,CAACd,SAAS,CAAC;MAEvB,MAAMe,IAAI,GAAG,MAAMZ,QAAQ,CAACa,IAAI,CAAC,CAAC;MAElC,IAAIb,QAAQ,CAACc,EAAE,IAAIF,IAAI,CAACG,OAAO,EAAE;QAAA,IAAAC,cAAA;QAC/B,MAAMvB,MAA8B,GAAG;UACrCrB,OAAO,EAAE,IAAI;UACbE,WAAW,EAAEsC,IAAI,CAACtC,WAAW,IAAI,EAAE;UACnCC,UAAU,EAAEqC,IAAI,CAACrC,UAAU,IAAI,IAAI;UACnCa,OAAO,EAAEA;QACX,CAAC;;QAED;QACAvC,eAAe,CAACoE,GAAG,CAACxD,MAAM,EAAE;UAC1BgC,MAAM;UACNF,SAAS,EAAEL,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC,CAAC;QAEF,KAAA6B,cAAA,GAAIpE,YAAY,cAAAoE,cAAA,eAAZA,cAAA,CAAcnD,aAAa,EAAE;UAC/BN,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;QAChD;QAEA,OAAOiC,MAAM;MACf,CAAC,MAAM;QAAA,IAAAyB,cAAA;QACL,MAAMC,YAAY,GAAGP,IAAI,CAACvC,KAAK,IAAI,QAAQ2B,QAAQ,CAACoB,MAAM,KAAKpB,QAAQ,CAACqB,UAAU,EAAE;QAEpF,MAAM5B,MAA8B,GAAG;UACrCrB,OAAO,EAAE,KAAK;UACdC,KAAK,EAAE8C,YAAY;UACnB/B,OAAO,EAAEA;QACX,CAAC;;QAED;QACA,KAAA8B,cAAA,GAAItE,YAAY,cAAAsE,cAAA,eAAZA,cAAA,CAAcrD,aAAa,EAAE;UAC/BN,OAAO,CAACc,KAAK,CAAC,8BAA8B,EAAE8C,YAAY,CAAC;QAC7D;QAEA,OAAO1B,MAAM;MACf;IACF,CAAC,CAAC,OAAO6B,UAAe,EAAE;MACxBX,YAAY,CAACd,SAAS,CAAC;MAEvB,IAAIyB,UAAU,CAACC,IAAI,KAAK,YAAY,EAAE;QACpC,MAAMJ,YAAY,GAAG,4BAA4B;QACjD5D,OAAO,CAACc,KAAK,CAAC,+BAA+B,CAAC;QAC9C,OAAO;UAAED,OAAO,EAAE,KAAK;UAAEC,KAAK,EAAE8C,YAAY;UAAE/B,OAAO,EAAEA;QAAQ,CAAC;MAClE;MAEA,MAAM+B,YAAY,GAAG,4CAA4CG,UAAU,CAACE,OAAO,EAAE;MACrFjE,OAAO,CAACc,KAAK,CAAC,6CAA6C,EAAEiD,UAAU,CAAC;MACxE,OAAO;QAAElD,OAAO,EAAE,KAAK;QAAEC,KAAK,EAAE8C,YAAY;QAAE/B,OAAO,EAAEA;MAAQ,CAAC;IAClE;EACF,CAAC,CAAC,OAAOf,KAAU,EAAE;IACnB,MAAM8C,YAAY,GAAG,6BAA6B9C,KAAK,CAACmD,OAAO,EAAE;IACjEjE,OAAO,CAACc,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,OAAO;MAAED,OAAO,EAAE,KAAK;MAAEC,KAAK,EAAE8C,YAAY;MAAE/B,OAAO,EAAEzC,UAAU,CAACiC;IAAQ,CAAC;EAC7E;AACF,CAAC;;AAED;AACA;AACA;AACA;AAHAlC,OAAA,CAAAyB,cAAA,GAAAA,cAAA;AAIO,MAAMsD,YAAY,GAAGA,CAAA,KAA4B;EACtD,OAAO7E,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AAHAF,OAAA,CAAA+E,YAAA,GAAAA,YAAA;AAIO,MAAMC,SAAS,GAAGA,CAAA,KAAqB;EAAA,IAAAC,cAAA;EAC5C,OAAO,EAAAA,cAAA,GAAA/E,YAAY,cAAA+E,cAAA,uBAAZA,cAAA,CAAclE,MAAM,KAAI,IAAI;AACrC,CAAC;;AAED;AACA;AACA;AACA;AAHAf,OAAA,CAAAgF,SAAA,GAAAA,SAAA;AAIO,MAAME,mBAAmB,GAAGA,CAAA,KAAe;EAChD,OAAO7E,aAAa,IAAIH,YAAY,KAAK,IAAI;AAC/C,CAAC;;AAED;AACA;AACA;AACA;AAHAF,OAAA,CAAAkF,mBAAA,GAAAA,mBAAA;AAIO,MAAMC,cAAc,GAAGA,CAAA,KAA8B;EAAA,IAAAC,cAAA;EAC1D,IAAI,GAAAA,cAAA,GAAClF,YAAY,cAAAkF,cAAA,eAAZA,cAAA,CAAcrE,MAAM,GAAE;IACzB,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,MAAM0B,OAAO,GAAGZ,aAAa,CAAC5B,YAAY,CAACa,MAAM,CAAC;EAElD,OAAO;IACL,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,UAAUb,YAAY,CAACa,MAAM,EAAE;IAChD,YAAY,EAAE,2BAA2B;IACzC,eAAe,EAAE,QAAQ;IACzB,mBAAmB,EAAEb,YAAY,CAACgB,WAAW,IAAI,YAAY;IAC7D,gBAAgB,EAAEwB,OAAO;IACzB,aAAa,EAAE,IAAIF,IAAI,CAAC,CAAC,CAACuB,WAAW,CAAC;EACxC,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA/D,OAAA,CAAAmF,cAAA,GAAAA,cAAA;AAMO,MAAME,wBAAwB,GAAG,MAAAA,CACtCC,QAAgB,EAChBC,OAAoB,GAAG,CAAC,CAAC,KACH;EACtB,IAAI,CAACL,mBAAmB,CAAC,CAAC,EAAE;IAC1B,MAAM,IAAIlE,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,MAAMJ,MAAM,GAAGmE,YAAY,CAAC,CAAE;EAC9B,MAAM/B,OAAO,GAAGzC,aAAa,CAACK,MAAM,CAACM,WAAW,IAAI,YAAY,CAAC;EACjE,MAAMsE,GAAG,GAAG,GAAGxC,OAAO,GAAGsC,QAAQ,CAACtD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGsD,QAAQ,EAAE;;EAEzE;EACA,MAAM7B,OAAO,GAAG;IACd,GAAG0B,cAAc,CAAC,CAAC;IACnB,IAAII,OAAO,CAAC9B,OAAO,IAAI,CAAC,CAAC;EAC3B,CAAC;;EAED;EACA,MAAMR,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEzC,MAAM,CAACQ,OAAO,IAAI,KAAK,CAAC;EAE/E,IAAI;IACF,IAAIR,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uCAAuCwE,QAAQ,EAAE,CAAC;IAChE;IAEA,MAAMhC,QAAQ,GAAG,MAAMC,KAAK,CAACiC,GAAG,EAAE;MAChC,GAAGD,OAAO;MACV9B,OAAO;MACPO,MAAM,EAAEf,UAAU,CAACe;IACrB,CAAC,CAAC;IAEFC,YAAY,CAACd,SAAS,CAAC;IAEvB,IAAIvC,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uBAAuBwC,QAAQ,CAACoB,MAAM,QAAQY,QAAQ,EAAE,CAAC;IACvE;;IAEA;IACA,IAAIhC,QAAQ,CAACoB,MAAM,KAAK,GAAG,EAAE;MAC3B7D,OAAO,CAACc,KAAK,CAAC,6DAA6D,CAAC;MAC5E,MAAM,IAAIX,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IAEA,IAAIsC,QAAQ,CAACoB,MAAM,KAAK,GAAG,EAAE;MAC3B7D,OAAO,CAACc,KAAK,CAAC,wDAAwD,CAAC;MACvE,MAAM,IAAIX,KAAK,CAAC,kCAAkC,CAAC;IACrD;IAEA,IAAIsC,QAAQ,CAACoB,MAAM,KAAK,GAAG,EAAE;MAC3B7D,OAAO,CAACc,KAAK,CAAC,oDAAoD,CAAC;MACnE,MAAM,IAAIX,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,OAAOsC,QAAQ;EACjB,CAAC,CAAC,OAAO3B,KAAK,EAAE;IACdsC,YAAY,CAACd,SAAS,CAAC;IAEvB,IAAIxB,KAAK,CAACkD,IAAI,KAAK,YAAY,EAAE;MAC/BhE,OAAO,CAACc,KAAK,CAAC,yBAAyB,EAAE2D,QAAQ,CAAC;MAClD,MAAM,IAAItE,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEA,MAAMW,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFA3B,OAAA,CAAAqF,wBAAA,GAAAA,wBAAA;AAGO,MAAMI,oBAAoB,GAAGA,CAAA,KAAY;EAAA,IAAAC,cAAA;EAC9CvF,eAAe,CAACwF,KAAK,CAAC,CAAC;EACvB,KAAAD,cAAA,GAAIxF,YAAY,cAAAwF,cAAA,eAAZA,cAAA,CAAcvE,aAAa,EAAE;IAC/BN,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;EACrD;AACF,CAAC;;AAED;AACA;AACA;AAFAd,OAAA,CAAAyF,oBAAA,GAAAA,oBAAA;AAGO,MAAMG,kBAAkB,GAAGA,CAAA,KAAY;EAC5C1F,YAAY,GAAG,IAAI;EACnBG,aAAa,GAAG,KAAK;EACrBoF,oBAAoB,CAAC,CAAC;EACtB5E,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;AACzC,CAAC;AAACd,OAAA,CAAA4F,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -3,10 +3,57 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.verifyEmailCode = exports.updateGoogleClientIds = exports.testApiConnectivity = exports.requestEmailVerification = exports.refreshYouTubeTokens = exports.refreshGoogleTokens = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.hasNativeSDK = exports.handleOAuthCallbackUrl = exports.handleOAuthCallback = exports.getPlatformColor = exports.getAuthEndpoint = exports.disconnectPlatform = exports.checkEmailVerificationStatus = void 0;
|
|
6
|
+
exports.verifyEmailCode = exports.updateGoogleClientIds = exports.testApiConnectivity = exports.storePinAfterBiometric = exports.requestEmailVerification = exports.refreshYouTubeTokens = exports.refreshGoogleTokens = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.initializePlatformAuthService = exports.hasNativeSDK = exports.handleOAuthCallbackUrl = exports.handleOAuthCallback = exports.getStoredJwtToken = exports.getPlatformColor = exports.getAuthEndpoint = exports.disconnectPlatform = exports.clearStoredTokens = exports.checkEmailVerificationStatus = void 0;
|
|
7
7
|
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
8
8
|
var _apiKeyService = require("./apiKeyService");
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
// ๐ CRITICAL: Initialize API key service for authentication
|
|
12
|
+
let isApiKeyInitialized = false;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Initialize the API key service with the admin key for testing
|
|
16
|
+
* This ensures all API requests include proper authentication headers
|
|
17
|
+
*/
|
|
18
|
+
const initializePlatformAuthService = async () => {
|
|
19
|
+
if (isApiKeyInitialized) {
|
|
20
|
+
console.log('๐ API key service already initialized');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
// Import the initialization function
|
|
25
|
+
const {
|
|
26
|
+
initializeApiKey,
|
|
27
|
+
ADMIN_API_KEY
|
|
28
|
+
} = await Promise.resolve().then(() => _interopRequireWildcard(require('./apiKeyService')));
|
|
29
|
+
|
|
30
|
+
// Initialize with admin key for testing/development
|
|
31
|
+
await initializeApiKey({
|
|
32
|
+
apiKey: ADMIN_API_KEY,
|
|
33
|
+
// 'OnairosIsAUnicorn2025'
|
|
34
|
+
environment: 'development',
|
|
35
|
+
enableLogging: true,
|
|
36
|
+
timeout: 30000
|
|
37
|
+
});
|
|
38
|
+
isApiKeyInitialized = true;
|
|
39
|
+
console.log('โ
Platform auth service initialized with admin key');
|
|
40
|
+
} catch (error) {
|
|
41
|
+
console.error('โ Failed to initialize platform auth service:', error);
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Ensure API key is initialized before making authenticated requests
|
|
48
|
+
*/
|
|
49
|
+
exports.initializePlatformAuthService = initializePlatformAuthService;
|
|
50
|
+
const ensureApiKeyInitialized = async () => {
|
|
51
|
+
if (!isApiKeyInitialized) {
|
|
52
|
+
console.log('๐ API key not initialized, initializing now...');
|
|
53
|
+
await initializePlatformAuthService();
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
10
57
|
// Configuration for each platform's authentication
|
|
11
58
|
let PLATFORM_AUTH_CONFIG = {
|
|
12
59
|
instagram: {
|
|
@@ -779,17 +826,25 @@ const requestEmailVerification = async (email, testMode = false) => {
|
|
|
779
826
|
};
|
|
780
827
|
}
|
|
781
828
|
|
|
782
|
-
// In test mode, always return success
|
|
829
|
+
// In test mode, always return success with mock request ID
|
|
783
830
|
if (testMode) {
|
|
784
|
-
console.log('๐งช Test mode: Always returning success');
|
|
831
|
+
console.log('๐งช Test mode: Always returning success with mock request ID');
|
|
832
|
+
const mockRequestId = 'test-request-' + Date.now();
|
|
833
|
+
|
|
834
|
+
// Store request info for tracking
|
|
835
|
+
await _asyncStorage.default.setItem('email_verification_request_id', mockRequestId);
|
|
836
|
+
await _asyncStorage.default.setItem('email_verification_request_email', email);
|
|
785
837
|
return {
|
|
786
838
|
success: true,
|
|
787
|
-
message: 'Email verification sent successfully (test mode)'
|
|
839
|
+
message: 'Email verification sent successfully (test mode)',
|
|
840
|
+
requestId: mockRequestId
|
|
788
841
|
};
|
|
789
842
|
}
|
|
790
843
|
|
|
791
844
|
// Production mode: Make real API call with API key authentication
|
|
792
845
|
try {
|
|
846
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
847
|
+
await ensureApiKeyInitialized();
|
|
793
848
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
|
|
794
849
|
method: 'POST',
|
|
795
850
|
body: JSON.stringify({
|
|
@@ -801,9 +856,15 @@ const requestEmailVerification = async (email, testMode = false) => {
|
|
|
801
856
|
console.log('๐ก Email verification API response:', result);
|
|
802
857
|
if (response.ok && result.success) {
|
|
803
858
|
console.log('โ
Email verification request sent');
|
|
859
|
+
|
|
860
|
+
// Store request info for tracking
|
|
861
|
+
const requestId = result.requestId || result.id || 'req-' + Date.now();
|
|
862
|
+
await _asyncStorage.default.setItem('email_verification_request_id', requestId);
|
|
863
|
+
await _asyncStorage.default.setItem('email_verification_request_email', email);
|
|
804
864
|
return {
|
|
805
865
|
success: true,
|
|
806
|
-
message: result.message || 'Email verification sent successfully'
|
|
866
|
+
message: result.message || 'Email verification sent successfully',
|
|
867
|
+
requestId: requestId
|
|
807
868
|
};
|
|
808
869
|
} else {
|
|
809
870
|
console.error('โ Email verification request failed:', result.error);
|
|
@@ -846,18 +907,27 @@ const verifyEmailCode = async (email, code, testMode = false) => {
|
|
|
846
907
|
};
|
|
847
908
|
}
|
|
848
909
|
|
|
849
|
-
// In test mode, always return success
|
|
910
|
+
// In test mode, always return success with mock JWT token
|
|
850
911
|
if (testMode) {
|
|
851
|
-
console.log('๐งช Test mode: Always returning success');
|
|
912
|
+
console.log('๐งช Test mode: Always returning success with mock JWT token');
|
|
913
|
+
const mockToken = 'test-jwt-token-' + Date.now();
|
|
914
|
+
|
|
915
|
+
// Store mock token for API requests
|
|
916
|
+
await _asyncStorage.default.setItem('email_verification_token', mockToken);
|
|
917
|
+
await _asyncStorage.default.setItem('onairos_jwt_token', mockToken);
|
|
918
|
+
await _asyncStorage.default.setItem('email_verification_email', email);
|
|
852
919
|
return {
|
|
853
920
|
success: true,
|
|
854
921
|
message: 'Email verification successful (test mode)',
|
|
855
|
-
existingUser: false
|
|
922
|
+
existingUser: false,
|
|
923
|
+
jwtToken: mockToken
|
|
856
924
|
};
|
|
857
925
|
}
|
|
858
926
|
|
|
859
927
|
// Production mode: Make real API call with API key authentication
|
|
860
928
|
try {
|
|
929
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
930
|
+
await ensureApiKeyInitialized();
|
|
861
931
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
|
|
862
932
|
method: 'POST',
|
|
863
933
|
body: JSON.stringify({
|
|
@@ -870,10 +940,25 @@ const verifyEmailCode = async (email, code, testMode = false) => {
|
|
|
870
940
|
console.log('๐ก Email verification API response:', result);
|
|
871
941
|
if (response.ok && result.success) {
|
|
872
942
|
console.log('โ
Email verification successful');
|
|
943
|
+
|
|
944
|
+
// ๐ซ CRITICAL: Store JWT token from email verification response
|
|
945
|
+
const jwtToken = result.token || result.jwtToken || result.jwt || result.authToken;
|
|
946
|
+
if (jwtToken) {
|
|
947
|
+
console.log('๐ซ Storing JWT token from email verification response');
|
|
948
|
+
await _asyncStorage.default.setItem('email_verification_token', jwtToken);
|
|
949
|
+
await _asyncStorage.default.setItem('onairos_jwt_token', jwtToken);
|
|
950
|
+
await _asyncStorage.default.setItem('enoch_token', jwtToken);
|
|
951
|
+
await _asyncStorage.default.setItem('auth_token', jwtToken);
|
|
952
|
+
await _asyncStorage.default.setItem('email_verification_email', email);
|
|
953
|
+
await _asyncStorage.default.setItem('token_timestamp', Date.now().toString());
|
|
954
|
+
} else {
|
|
955
|
+
console.warn('โ ๏ธ No JWT token received from email verification API');
|
|
956
|
+
}
|
|
873
957
|
return {
|
|
874
958
|
success: true,
|
|
875
959
|
message: result.message || 'Email verification successful',
|
|
876
|
-
existingUser: result.existingUser || false
|
|
960
|
+
existingUser: result.existingUser || false,
|
|
961
|
+
jwtToken: jwtToken
|
|
877
962
|
};
|
|
878
963
|
} else {
|
|
879
964
|
console.error('โ Email verification failed:', result.error);
|
|
@@ -915,6 +1000,8 @@ const checkEmailVerificationStatus = async (email, testMode = false) => {
|
|
|
915
1000
|
|
|
916
1001
|
// Production mode: Make real API call with API key authentication
|
|
917
1002
|
try {
|
|
1003
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
1004
|
+
await ensureApiKeyInitialized();
|
|
918
1005
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)(`/email/verify/status/${encodeURIComponent(email)}`, {
|
|
919
1006
|
method: 'GET'
|
|
920
1007
|
});
|
|
@@ -996,5 +1083,132 @@ const disconnectPlatform = async (platform, username) => {
|
|
|
996
1083
|
};
|
|
997
1084
|
}
|
|
998
1085
|
};
|
|
1086
|
+
|
|
1087
|
+
/**
|
|
1088
|
+
* ๐ STORE PIN AFTER BIOMETRIC AUTHENTICATION
|
|
1089
|
+
* Send PIN separately to /store-pin/web endpoint after biometric Face ID verification
|
|
1090
|
+
*/
|
|
999
1091
|
exports.disconnectPlatform = disconnectPlatform;
|
|
1092
|
+
const storePinAfterBiometric = async (username, pin, jwtToken) => {
|
|
1093
|
+
try {
|
|
1094
|
+
console.log('๐ Storing PIN after biometric authentication for user:', username);
|
|
1095
|
+
console.log('๐ PIN length:', pin.length);
|
|
1096
|
+
console.log('๐ซ JWT token provided:', !!jwtToken);
|
|
1097
|
+
if (!username || !pin) {
|
|
1098
|
+
return {
|
|
1099
|
+
success: false,
|
|
1100
|
+
error: 'Username and PIN are required'
|
|
1101
|
+
};
|
|
1102
|
+
}
|
|
1103
|
+
if (pin.length < 4) {
|
|
1104
|
+
return {
|
|
1105
|
+
success: false,
|
|
1106
|
+
error: 'PIN must be at least 4 digits'
|
|
1107
|
+
};
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
// Get JWT token from storage if not provided
|
|
1111
|
+
let authToken = jwtToken;
|
|
1112
|
+
if (!authToken) {
|
|
1113
|
+
authToken = (await _asyncStorage.default.getItem('onairos_jwt_token')) || (await _asyncStorage.default.getItem('enoch_token')) || (await _asyncStorage.default.getItem('auth_token')) || (await _asyncStorage.default.getItem('email_verification_token'));
|
|
1114
|
+
}
|
|
1115
|
+
if (!authToken) {
|
|
1116
|
+
console.warn('โ ๏ธ No JWT token available for PIN storage');
|
|
1117
|
+
return {
|
|
1118
|
+
success: false,
|
|
1119
|
+
error: 'No authentication token available'
|
|
1120
|
+
};
|
|
1121
|
+
}
|
|
1122
|
+
console.log('๐ค Sending PIN to /store-pin/web endpoint');
|
|
1123
|
+
|
|
1124
|
+
// Make authenticated request to store PIN
|
|
1125
|
+
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/store-pin/web', {
|
|
1126
|
+
method: 'POST',
|
|
1127
|
+
headers: {
|
|
1128
|
+
'Authorization': `Bearer ${authToken}`
|
|
1129
|
+
},
|
|
1130
|
+
body: JSON.stringify({
|
|
1131
|
+
username,
|
|
1132
|
+
pin
|
|
1133
|
+
})
|
|
1134
|
+
});
|
|
1135
|
+
console.log('๐ก PIN storage response status:', response.status);
|
|
1136
|
+
if (!response.ok) {
|
|
1137
|
+
const errorText = await response.text();
|
|
1138
|
+
console.error('โ PIN storage failed:', errorText);
|
|
1139
|
+
return {
|
|
1140
|
+
success: false,
|
|
1141
|
+
error: `PIN storage failed: ${response.status} - ${errorText}`
|
|
1142
|
+
};
|
|
1143
|
+
}
|
|
1144
|
+
const result = await response.json();
|
|
1145
|
+
console.log('๐ฅ PIN storage response:', result);
|
|
1146
|
+
if (result.success) {
|
|
1147
|
+
console.log('โ
PIN stored successfully after biometric authentication');
|
|
1148
|
+
|
|
1149
|
+
// Store PIN locally for future use
|
|
1150
|
+
await _asyncStorage.default.setItem('user_pin_stored', 'true');
|
|
1151
|
+
await _asyncStorage.default.setItem('pin_storage_timestamp', Date.now().toString());
|
|
1152
|
+
return {
|
|
1153
|
+
success: true,
|
|
1154
|
+
message: result.message || 'PIN stored successfully'
|
|
1155
|
+
};
|
|
1156
|
+
} else {
|
|
1157
|
+
console.error('โ PIN storage API returned error:', result.error);
|
|
1158
|
+
return {
|
|
1159
|
+
success: false,
|
|
1160
|
+
error: result.error || 'PIN storage failed'
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
} catch (error) {
|
|
1164
|
+
console.error('โ Error storing PIN after biometric authentication:', error);
|
|
1165
|
+
return {
|
|
1166
|
+
success: false,
|
|
1167
|
+
error: error instanceof Error ? error.message : 'PIN storage failed'
|
|
1168
|
+
};
|
|
1169
|
+
}
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1172
|
+
/**
|
|
1173
|
+
* ๐ซ GET STORED JWT TOKEN
|
|
1174
|
+
* Helper function to retrieve stored JWT token from email verification or other sources
|
|
1175
|
+
*/
|
|
1176
|
+
exports.storePinAfterBiometric = storePinAfterBiometric;
|
|
1177
|
+
const getStoredJwtToken = async () => {
|
|
1178
|
+
try {
|
|
1179
|
+
console.log('๐ซ Retrieving stored JWT token...');
|
|
1180
|
+
|
|
1181
|
+
// Try different storage keys in order of preference
|
|
1182
|
+
const tokenSources = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token'];
|
|
1183
|
+
for (const source of tokenSources) {
|
|
1184
|
+
const token = await _asyncStorage.default.getItem(source);
|
|
1185
|
+
if (token && token.length > 20) {
|
|
1186
|
+
console.log(`โ
JWT token found in ${source}:`, token.substring(0, 20) + '...');
|
|
1187
|
+
return token;
|
|
1188
|
+
}
|
|
1189
|
+
}
|
|
1190
|
+
console.warn('โ ๏ธ No JWT token found in storage');
|
|
1191
|
+
return null;
|
|
1192
|
+
} catch (error) {
|
|
1193
|
+
console.error('โ Error retrieving JWT token:', error);
|
|
1194
|
+
return null;
|
|
1195
|
+
}
|
|
1196
|
+
};
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* ๐ซ CLEAR STORED TOKENS
|
|
1200
|
+
* Helper function to clear all stored tokens (useful for logout)
|
|
1201
|
+
*/
|
|
1202
|
+
exports.getStoredJwtToken = getStoredJwtToken;
|
|
1203
|
+
const clearStoredTokens = async () => {
|
|
1204
|
+
try {
|
|
1205
|
+
console.log('๐งน Clearing all stored tokens...');
|
|
1206
|
+
const tokenKeys = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token', 'email_verification_email', 'email_verification_request_id', 'email_verification_request_email', 'token_timestamp', 'user_pin_stored', 'pin_storage_timestamp'];
|
|
1207
|
+
await Promise.all(tokenKeys.map(key => _asyncStorage.default.removeItem(key)));
|
|
1208
|
+
console.log('โ
All tokens cleared successfully');
|
|
1209
|
+
} catch (error) {
|
|
1210
|
+
console.error('โ Error clearing tokens:', error);
|
|
1211
|
+
}
|
|
1212
|
+
};
|
|
1213
|
+
exports.clearStoredTokens = clearStoredTokens;
|
|
1000
1214
|
//# sourceMappingURL=platformAuthService.js.map
|