@onairos/react-native 3.0.72 โ 3.0.74
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 +224 -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 +218 -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":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAIA,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;AAJAG,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA;AAKO,MAAMc,cAAc,GAAG,MAAOV,MAAc,IAAsC;EACvF,IAAI;IAAA,IAAAgB,cAAA,EAAAC,cAAA;IACFnB,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;;IAEvC;IACA,MAAMmB,MAAM,GAAG9B,eAAe,CAAC+B,GAAG,CAACnB,MAAM,CAAC;IAC1C,IAAIkB,MAAM,IAAIE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACI,SAAS,GAAG/B,cAAc,EAAE;MAAA,IAAAgC,aAAA;MAC5D,KAAAA,aAAA,GAAIpC,YAAY,cAAAoC,aAAA,eAAZA,aAAA,CAAcnB,aAAa,EAAE;QAC/BN,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;MAC1D;MACA,OAAOmB,MAAM,CAACM,MAAM;IACtB;IAEA,MAAMrB,WAAW,GAAG,EAAAa,cAAA,GAAA7B,YAAY,cAAA6B,cAAA,uBAAZA,cAAA,CAAcb,WAAW,KAAI,YAAY;IAC7D,MAAMsB,OAAO,GAAGjC,aAAa,CAACW,WAAW,CAAC;IAC1C,MAAME,OAAO,GAAG,EAAAY,cAAA,GAAA9B,YAAY,cAAA8B,cAAA,uBAAZA,cAAA,CAAcZ,OAAO,KAAI,KAAK;;IAE9C;IACA,MAAMqB,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEzB,OAAO,CAAC;IAE/D,IAAI;MACF,MAAM0B,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGP,OAAO,oBAAoB,EAAE;QAC3DQ,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,cAAc,EAAE,kBAAkB;UAClC,eAAe,EAAE,UAAUlC,MAAM,EAAE;UACnC,YAAY,EAAE;QAChB,CAAC;QACDmC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnBlC,WAAW;UACXmC,WAAW,EAAE,QAAQ;UACrBC,QAAQ,EAAE;QACZ,CAAC,CAAC;QACFC,MAAM,EAAEd,UAAU,CAACc;MACrB,CAAC,CAAC;MAEFC,YAAY,CAACb,SAAS,CAAC;MAEvB,MAAMc,IAAI,GAAG,MAAMX,QAAQ,CAACY,IAAI,CAAC,CAAC;MAElC,IAAIZ,QAAQ,CAACa,EAAE,IAAIF,IAAI,CAACG,OAAO,EAAE;QAAA,IAAAC,cAAA;QAC/B,MAAMtB,MAA8B,GAAG;UACrCb,OAAO,EAAE,IAAI;UACbE,WAAW,EAAE6B,IAAI,CAAC7B,WAAW,IAAI,EAAE;UACnCC,UAAU,EAAE4B,IAAI,CAAC5B,UAAU,IAAI;QACjC,CAAC;;QAED;QACA1B,eAAe,CAAC2D,GAAG,CAAC/C,MAAM,EAAE;UAC1BwB,MAAM;UACNF,SAAS,EAAEF,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC,CAAC;QAEF,KAAAyB,cAAA,GAAI3D,YAAY,cAAA2D,cAAA,eAAZA,cAAA,CAAc1C,aAAa,EAAE;UAC/BN,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;QAChD;QAEA,OAAOyB,MAAM;MACf,CAAC,MAAM;QAAA,IAAAwB,cAAA;QACL,MAAMC,YAAY,GAAGP,IAAI,CAAC9B,KAAK,IAAI,QAAQmB,QAAQ,CAACmB,MAAM,KAAKnB,QAAQ,CAACoB,UAAU,EAAE;QAEpF,MAAM3B,MAA8B,GAAG;UACrCb,OAAO,EAAE,KAAK;UACdC,KAAK,EAAEqC;QACT,CAAC;;QAED;QACA,KAAAD,cAAA,GAAI7D,YAAY,cAAA6D,cAAA,eAAZA,cAAA,CAAc5C,aAAa,EAAE;UAC/BN,OAAO,CAACc,KAAK,CAAC,8BAA8B,EAAEqC,YAAY,CAAC;QAC7D;QAEA,OAAOzB,MAAM;MACf;IACF,CAAC,CAAC,OAAO4B,UAAU,EAAE;MACnBX,YAAY,CAACb,SAAS,CAAC;MAEvB,IAAIwB,UAAU,CAACC,IAAI,KAAK,YAAY,EAAE;QACpC,MAAMJ,YAAY,GAAG,4BAA4B;QACjDnD,OAAO,CAACc,KAAK,CAAC,+BAA+B,CAAC;QAC9C,OAAO;UAAED,OAAO,EAAE,KAAK;UAAEC,KAAK,EAAEqC;QAAa,CAAC;MAChD;MAEA,MAAMA,YAAY,GAAG,4CAA4CG,UAAU,CAACE,OAAO,EAAE;MACrFxD,OAAO,CAACc,KAAK,CAAC,6CAA6C,EAAEwC,UAAU,CAAC;MACxE,OAAO;QAAEzC,OAAO,EAAE,KAAK;QAAEC,KAAK,EAAEqC;MAAa,CAAC;IAChD;EACF,CAAC,CAAC,OAAOrC,KAAK,EAAE;IACd,MAAMqC,YAAY,GAAG,6BAA6BrC,KAAK,CAAC0C,OAAO,EAAE;IACjExD,OAAO,CAACc,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,OAAO;MAAED,OAAO,EAAE,KAAK;MAAEC,KAAK,EAAEqC;IAAa,CAAC;EAChD;AACF,CAAC;;AAED;AACA;AACA;AACA;AAHAlC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAIO,MAAM6C,YAAY,GAAGA,CAAA,KAA4B;EACtD,OAAOpE,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AAHA4B,OAAA,CAAAwC,YAAA,GAAAA,YAAA;AAIO,MAAMC,SAAS,GAAGA,CAAA,KAAqB;EAAA,IAAAC,cAAA;EAC5C,OAAO,EAAAA,cAAA,GAAAtE,YAAY,cAAAsE,cAAA,uBAAZA,cAAA,CAAczD,MAAM,KAAI,IAAI;AACrC,CAAC;;AAED;AACA;AACA;AACA;AAHAe,OAAA,CAAAyC,SAAA,GAAAA,SAAA;AAIO,MAAME,mBAAmB,GAAGA,CAAA,KAAe;EAChD,OAAOpE,aAAa,IAAIH,YAAY,KAAK,IAAI;AAC/C,CAAC;;AAED;AACA;AACA;AACA;AAHA4B,OAAA,CAAA2C,mBAAA,GAAAA,mBAAA;AAIO,MAAMC,cAAc,GAAGA,CAAA,KAA8B;EAAA,IAAAC,cAAA;EAC1D,IAAI,GAAAA,cAAA,GAACzE,YAAY,cAAAyE,cAAA,eAAZA,cAAA,CAAc5D,MAAM,GAAE;IACzB,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,OAAO;IACL,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,UAAUd,YAAY,CAACa,MAAM,EAAE;IAChD,YAAY,EAAE,2BAA2B;IACzC,eAAe,EAAE,QAAQ;IACzB,mBAAmB,EAAEb,YAAY,CAACgB,WAAW,IAAI;EACnD,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAY,OAAA,CAAA4C,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,IAAIzD,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,MAAMJ,MAAM,GAAG0D,YAAY,CAAC,CAAE;EAC9B,MAAM9B,OAAO,GAAGjC,aAAa,CAACK,MAAM,CAACM,WAAW,IAAI,YAAY,CAAC;EACjE,MAAM6D,GAAG,GAAG,GAAGvC,OAAO,GAAGqC,QAAQ,CAACG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGH,QAAQ,EAAE;;EAEzE;EACA,MAAM5B,OAAO,GAAG;IACd,GAAGyB,cAAc,CAAC,CAAC;IACnB,IAAII,OAAO,CAAC7B,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,EAAEjC,MAAM,CAACQ,OAAO,IAAI,KAAK,CAAC;EAE/E,IAAI;IACF,IAAIR,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uCAAuC+D,QAAQ,EAAE,CAAC;IAChE;IAEA,MAAM/B,QAAQ,GAAG,MAAMC,KAAK,CAACgC,GAAG,EAAE;MAChC,GAAGD,OAAO;MACV7B,OAAO;MACPM,MAAM,EAAEd,UAAU,CAACc;IACrB,CAAC,CAAC;IAEFC,YAAY,CAACb,SAAS,CAAC;IAEvB,IAAI/B,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uBAAuBgC,QAAQ,CAACmB,MAAM,QAAQY,QAAQ,EAAE,CAAC;IACvE;;IAEA;IACA,IAAI/B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,6DAA6D,CAAC;MAC5E,MAAM,IAAIX,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IAEA,IAAI8B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,wDAAwD,CAAC;MACvE,MAAM,IAAIX,KAAK,CAAC,kCAAkC,CAAC;IACrD;IAEA,IAAI8B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,oDAAoD,CAAC;MACnE,MAAM,IAAIX,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,OAAO8B,QAAQ;EACjB,CAAC,CAAC,OAAOnB,KAAK,EAAE;IACd6B,YAAY,CAACb,SAAS,CAAC;IAEvB,IAAIhB,KAAK,CAACyC,IAAI,KAAK,YAAY,EAAE;MAC/BvD,OAAO,CAACc,KAAK,CAAC,yBAAyB,EAAEkD,QAAQ,CAAC;MAClD,MAAM,IAAI7D,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEA,MAAMW,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAG,OAAA,CAAA8C,wBAAA,GAAAA,wBAAA;AAGO,MAAMK,oBAAoB,GAAGA,CAAA,KAAY;EAAA,IAAAC,cAAA;EAC9C/E,eAAe,CAACgF,KAAK,CAAC,CAAC;EACvB,KAAAD,cAAA,GAAIhF,YAAY,cAAAgF,cAAA,eAAZA,cAAA,CAAc/D,aAAa,EAAE;IAC/BN,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;EACrD;AACF,CAAC;;AAED;AACA;AACA;AAFAgB,OAAA,CAAAmD,oBAAA,GAAAA,oBAAA;AAGO,MAAMG,kBAAkB,GAAGA,CAAA,KAAY;EAC5ClF,YAAY,GAAG,IAAI;EACnBG,aAAa,GAAG,KAAK;EACrB4E,oBAAoB,CAAC,CAAC;EACtBpE,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;AACzC,CAAC;AAACgB,OAAA,CAAAsD,kBAAA,GAAAA,kBAAA","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":"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","ignoreList":[]}
|
|
@@ -3,10 +3,58 @@
|
|
|
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 production email service
|
|
31
|
+
await initializeApiKey({
|
|
32
|
+
apiKey: ADMIN_API_KEY,
|
|
33
|
+
// 'OnairosIsAUnicorn2025'
|
|
34
|
+
environment: 'production',
|
|
35
|
+
// Use production for email verification
|
|
36
|
+
enableLogging: true,
|
|
37
|
+
timeout: 30000
|
|
38
|
+
});
|
|
39
|
+
isApiKeyInitialized = true;
|
|
40
|
+
console.log('โ
Platform auth service initialized with admin key (production)');
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error('โ Failed to initialize platform auth service:', error);
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Ensure API key is initialized before making authenticated requests
|
|
49
|
+
*/
|
|
50
|
+
exports.initializePlatformAuthService = initializePlatformAuthService;
|
|
51
|
+
const ensureApiKeyInitialized = async () => {
|
|
52
|
+
if (!isApiKeyInitialized) {
|
|
53
|
+
console.log('๐ API key not initialized, initializing now...');
|
|
54
|
+
await initializePlatformAuthService();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
10
58
|
// Configuration for each platform's authentication
|
|
11
59
|
let PLATFORM_AUTH_CONFIG = {
|
|
12
60
|
instagram: {
|
|
@@ -779,17 +827,25 @@ const requestEmailVerification = async (email, testMode = false) => {
|
|
|
779
827
|
};
|
|
780
828
|
}
|
|
781
829
|
|
|
782
|
-
// In test mode, always return success
|
|
830
|
+
// In test mode, always return success with mock request ID
|
|
783
831
|
if (testMode) {
|
|
784
|
-
console.log('๐งช Test mode: Always returning success');
|
|
832
|
+
console.log('๐งช Test mode: Always returning success with mock request ID');
|
|
833
|
+
const mockRequestId = 'test-request-' + Date.now();
|
|
834
|
+
|
|
835
|
+
// Store request info for tracking
|
|
836
|
+
await _asyncStorage.default.setItem('email_verification_request_id', mockRequestId);
|
|
837
|
+
await _asyncStorage.default.setItem('email_verification_request_email', email);
|
|
785
838
|
return {
|
|
786
839
|
success: true,
|
|
787
|
-
message: 'Email verification sent successfully (test mode)'
|
|
840
|
+
message: 'Email verification sent successfully (test mode)',
|
|
841
|
+
requestId: mockRequestId
|
|
788
842
|
};
|
|
789
843
|
}
|
|
790
844
|
|
|
791
845
|
// Production mode: Make real API call with API key authentication
|
|
792
846
|
try {
|
|
847
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
848
|
+
await ensureApiKeyInitialized();
|
|
793
849
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
|
|
794
850
|
method: 'POST',
|
|
795
851
|
body: JSON.stringify({
|
|
@@ -801,9 +857,15 @@ const requestEmailVerification = async (email, testMode = false) => {
|
|
|
801
857
|
console.log('๐ก Email verification API response:', result);
|
|
802
858
|
if (response.ok && result.success) {
|
|
803
859
|
console.log('โ
Email verification request sent');
|
|
860
|
+
|
|
861
|
+
// Store request info for tracking
|
|
862
|
+
const requestId = result.requestId || result.id || 'req-' + Date.now();
|
|
863
|
+
await _asyncStorage.default.setItem('email_verification_request_id', requestId);
|
|
864
|
+
await _asyncStorage.default.setItem('email_verification_request_email', email);
|
|
804
865
|
return {
|
|
805
866
|
success: true,
|
|
806
|
-
message: result.message || 'Email verification sent successfully'
|
|
867
|
+
message: result.message || 'Email verification sent successfully',
|
|
868
|
+
requestId: requestId
|
|
807
869
|
};
|
|
808
870
|
} else {
|
|
809
871
|
console.error('โ Email verification request failed:', result.error);
|
|
@@ -846,18 +908,27 @@ const verifyEmailCode = async (email, code, testMode = false) => {
|
|
|
846
908
|
};
|
|
847
909
|
}
|
|
848
910
|
|
|
849
|
-
// In test mode, always return success
|
|
911
|
+
// In test mode, always return success with mock JWT token
|
|
850
912
|
if (testMode) {
|
|
851
|
-
console.log('๐งช Test mode: Always returning success');
|
|
913
|
+
console.log('๐งช Test mode: Always returning success with mock JWT token');
|
|
914
|
+
const mockToken = 'test-jwt-token-' + Date.now();
|
|
915
|
+
|
|
916
|
+
// Store mock token for API requests
|
|
917
|
+
await _asyncStorage.default.setItem('email_verification_token', mockToken);
|
|
918
|
+
await _asyncStorage.default.setItem('onairos_jwt_token', mockToken);
|
|
919
|
+
await _asyncStorage.default.setItem('email_verification_email', email);
|
|
852
920
|
return {
|
|
853
921
|
success: true,
|
|
854
922
|
message: 'Email verification successful (test mode)',
|
|
855
|
-
existingUser: false
|
|
923
|
+
existingUser: false,
|
|
924
|
+
jwtToken: mockToken
|
|
856
925
|
};
|
|
857
926
|
}
|
|
858
927
|
|
|
859
928
|
// Production mode: Make real API call with API key authentication
|
|
860
929
|
try {
|
|
930
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
931
|
+
await ensureApiKeyInitialized();
|
|
861
932
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
|
|
862
933
|
method: 'POST',
|
|
863
934
|
body: JSON.stringify({
|
|
@@ -870,10 +941,25 @@ const verifyEmailCode = async (email, code, testMode = false) => {
|
|
|
870
941
|
console.log('๐ก Email verification API response:', result);
|
|
871
942
|
if (response.ok && result.success) {
|
|
872
943
|
console.log('โ
Email verification successful');
|
|
944
|
+
|
|
945
|
+
// ๐ซ CRITICAL: Store JWT token from email verification response
|
|
946
|
+
const jwtToken = result.token || result.jwtToken || result.jwt || result.authToken;
|
|
947
|
+
if (jwtToken) {
|
|
948
|
+
console.log('๐ซ Storing JWT token from email verification response');
|
|
949
|
+
await _asyncStorage.default.setItem('email_verification_token', jwtToken);
|
|
950
|
+
await _asyncStorage.default.setItem('onairos_jwt_token', jwtToken);
|
|
951
|
+
await _asyncStorage.default.setItem('enoch_token', jwtToken);
|
|
952
|
+
await _asyncStorage.default.setItem('auth_token', jwtToken);
|
|
953
|
+
await _asyncStorage.default.setItem('email_verification_email', email);
|
|
954
|
+
await _asyncStorage.default.setItem('token_timestamp', Date.now().toString());
|
|
955
|
+
} else {
|
|
956
|
+
console.warn('โ ๏ธ No JWT token received from email verification API');
|
|
957
|
+
}
|
|
873
958
|
return {
|
|
874
959
|
success: true,
|
|
875
960
|
message: result.message || 'Email verification successful',
|
|
876
|
-
existingUser: result.existingUser || false
|
|
961
|
+
existingUser: result.existingUser || false,
|
|
962
|
+
jwtToken: jwtToken
|
|
877
963
|
};
|
|
878
964
|
} else {
|
|
879
965
|
console.error('โ Email verification failed:', result.error);
|
|
@@ -915,6 +1001,8 @@ const checkEmailVerificationStatus = async (email, testMode = false) => {
|
|
|
915
1001
|
|
|
916
1002
|
// Production mode: Make real API call with API key authentication
|
|
917
1003
|
try {
|
|
1004
|
+
// ๐ Ensure API key is initialized before making authenticated requests
|
|
1005
|
+
await ensureApiKeyInitialized();
|
|
918
1006
|
const response = await (0, _apiKeyService.makeAuthenticatedRequest)(`/email/verify/status/${encodeURIComponent(email)}`, {
|
|
919
1007
|
method: 'GET'
|
|
920
1008
|
});
|
|
@@ -996,5 +1084,132 @@ const disconnectPlatform = async (platform, username) => {
|
|
|
996
1084
|
};
|
|
997
1085
|
}
|
|
998
1086
|
};
|
|
1087
|
+
|
|
1088
|
+
/**
|
|
1089
|
+
* ๐ STORE PIN AFTER BIOMETRIC AUTHENTICATION
|
|
1090
|
+
* Send PIN separately to /store-pin/web endpoint after biometric Face ID verification
|
|
1091
|
+
*/
|
|
999
1092
|
exports.disconnectPlatform = disconnectPlatform;
|
|
1093
|
+
const storePinAfterBiometric = async (username, pin, jwtToken) => {
|
|
1094
|
+
try {
|
|
1095
|
+
console.log('๐ Storing PIN after biometric authentication for user:', username);
|
|
1096
|
+
console.log('๐ PIN length:', pin.length);
|
|
1097
|
+
console.log('๐ซ JWT token provided:', !!jwtToken);
|
|
1098
|
+
if (!username || !pin) {
|
|
1099
|
+
return {
|
|
1100
|
+
success: false,
|
|
1101
|
+
error: 'Username and PIN are required'
|
|
1102
|
+
};
|
|
1103
|
+
}
|
|
1104
|
+
if (pin.length < 4) {
|
|
1105
|
+
return {
|
|
1106
|
+
success: false,
|
|
1107
|
+
error: 'PIN must be at least 4 digits'
|
|
1108
|
+
};
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
// Get JWT token from storage if not provided
|
|
1112
|
+
let authToken = jwtToken;
|
|
1113
|
+
if (!authToken) {
|
|
1114
|
+
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'));
|
|
1115
|
+
}
|
|
1116
|
+
if (!authToken) {
|
|
1117
|
+
console.warn('โ ๏ธ No JWT token available for PIN storage');
|
|
1118
|
+
return {
|
|
1119
|
+
success: false,
|
|
1120
|
+
error: 'No authentication token available'
|
|
1121
|
+
};
|
|
1122
|
+
}
|
|
1123
|
+
console.log('๐ค Sending PIN to /store-pin/web endpoint');
|
|
1124
|
+
|
|
1125
|
+
// Make authenticated request to store PIN
|
|
1126
|
+
const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/store-pin/web', {
|
|
1127
|
+
method: 'POST',
|
|
1128
|
+
headers: {
|
|
1129
|
+
'Authorization': `Bearer ${authToken}`
|
|
1130
|
+
},
|
|
1131
|
+
body: JSON.stringify({
|
|
1132
|
+
username,
|
|
1133
|
+
pin
|
|
1134
|
+
})
|
|
1135
|
+
});
|
|
1136
|
+
console.log('๐ก PIN storage response status:', response.status);
|
|
1137
|
+
if (!response.ok) {
|
|
1138
|
+
const errorText = await response.text();
|
|
1139
|
+
console.error('โ PIN storage failed:', errorText);
|
|
1140
|
+
return {
|
|
1141
|
+
success: false,
|
|
1142
|
+
error: `PIN storage failed: ${response.status} - ${errorText}`
|
|
1143
|
+
};
|
|
1144
|
+
}
|
|
1145
|
+
const result = await response.json();
|
|
1146
|
+
console.log('๐ฅ PIN storage response:', result);
|
|
1147
|
+
if (result.success) {
|
|
1148
|
+
console.log('โ
PIN stored successfully after biometric authentication');
|
|
1149
|
+
|
|
1150
|
+
// Store PIN locally for future use
|
|
1151
|
+
await _asyncStorage.default.setItem('user_pin_stored', 'true');
|
|
1152
|
+
await _asyncStorage.default.setItem('pin_storage_timestamp', Date.now().toString());
|
|
1153
|
+
return {
|
|
1154
|
+
success: true,
|
|
1155
|
+
message: result.message || 'PIN stored successfully'
|
|
1156
|
+
};
|
|
1157
|
+
} else {
|
|
1158
|
+
console.error('โ PIN storage API returned error:', result.error);
|
|
1159
|
+
return {
|
|
1160
|
+
success: false,
|
|
1161
|
+
error: result.error || 'PIN storage failed'
|
|
1162
|
+
};
|
|
1163
|
+
}
|
|
1164
|
+
} catch (error) {
|
|
1165
|
+
console.error('โ Error storing PIN after biometric authentication:', error);
|
|
1166
|
+
return {
|
|
1167
|
+
success: false,
|
|
1168
|
+
error: error instanceof Error ? error.message : 'PIN storage failed'
|
|
1169
|
+
};
|
|
1170
|
+
}
|
|
1171
|
+
};
|
|
1172
|
+
|
|
1173
|
+
/**
|
|
1174
|
+
* ๐ซ GET STORED JWT TOKEN
|
|
1175
|
+
* Helper function to retrieve stored JWT token from email verification or other sources
|
|
1176
|
+
*/
|
|
1177
|
+
exports.storePinAfterBiometric = storePinAfterBiometric;
|
|
1178
|
+
const getStoredJwtToken = async () => {
|
|
1179
|
+
try {
|
|
1180
|
+
console.log('๐ซ Retrieving stored JWT token...');
|
|
1181
|
+
|
|
1182
|
+
// Try different storage keys in order of preference
|
|
1183
|
+
const tokenSources = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token'];
|
|
1184
|
+
for (const source of tokenSources) {
|
|
1185
|
+
const token = await _asyncStorage.default.getItem(source);
|
|
1186
|
+
if (token && token.length > 20) {
|
|
1187
|
+
console.log(`โ
JWT token found in ${source}:`, token.substring(0, 20) + '...');
|
|
1188
|
+
return token;
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
console.warn('โ ๏ธ No JWT token found in storage');
|
|
1192
|
+
return null;
|
|
1193
|
+
} catch (error) {
|
|
1194
|
+
console.error('โ Error retrieving JWT token:', error);
|
|
1195
|
+
return null;
|
|
1196
|
+
}
|
|
1197
|
+
};
|
|
1198
|
+
|
|
1199
|
+
/**
|
|
1200
|
+
* ๐ซ CLEAR STORED TOKENS
|
|
1201
|
+
* Helper function to clear all stored tokens (useful for logout)
|
|
1202
|
+
*/
|
|
1203
|
+
exports.getStoredJwtToken = getStoredJwtToken;
|
|
1204
|
+
const clearStoredTokens = async () => {
|
|
1205
|
+
try {
|
|
1206
|
+
console.log('๐งน Clearing all stored tokens...');
|
|
1207
|
+
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'];
|
|
1208
|
+
await Promise.all(tokenKeys.map(key => _asyncStorage.default.removeItem(key)));
|
|
1209
|
+
console.log('โ
All tokens cleared successfully');
|
|
1210
|
+
} catch (error) {
|
|
1211
|
+
console.error('โ Error clearing tokens:', error);
|
|
1212
|
+
}
|
|
1213
|
+
};
|
|
1214
|
+
exports.clearStoredTokens = clearStoredTokens;
|
|
1000
1215
|
//# sourceMappingURL=platformAuthService.js.map
|