@oxyhq/services 5.1.37 → 5.2.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/README.md +150 -0
- package/UI_COMPONENTS.md +144 -48
- package/lib/commonjs/ui/context/OxyContext.js +51 -22
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +51 -22
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/context/OxyContext.tsx +54 -22
package/README.md
CHANGED
|
@@ -72,6 +72,14 @@ import { OxyProvider, OxySignInButton, Avatar } from '@oxyhq/services/full';
|
|
|
72
72
|
|
|
73
73
|
For detailed documentation on UI components, see [UI_COMPONENTS.md](UI_COMPONENTS.md).
|
|
74
74
|
|
|
75
|
+
## What's New in 5.2.0
|
|
76
|
+
|
|
77
|
+
- **Multi-User Authentication**: Support for signing in with multiple accounts simultaneously
|
|
78
|
+
- **Account Switcher**: Built-in UI for switching between authenticated accounts
|
|
79
|
+
- **Session Management**: View and manage active sessions across devices with remote logout capabilities
|
|
80
|
+
- **Enhanced Security**: Comprehensive session tracking with device information
|
|
81
|
+
- **Account Center**: New account management interface with multi-user support
|
|
82
|
+
|
|
75
83
|
## What's New in 5.1.5
|
|
76
84
|
|
|
77
85
|
- **Fixed BottomSheet on Native Platforms**: The `OxyProvider` component now correctly displays the authentication UI in a bottom sheet on native platforms.
|
|
@@ -231,6 +239,148 @@ async function loginUser() {
|
|
|
231
239
|
* **UI Components Not Available**: The React Native UI components (like `OxyProvider`, `OxySignInButton`, etc.) included in this package are designed for client-side React Native applications and are **not usable** in a Node.js environment.
|
|
232
240
|
* **Buffer File Uploads**: For file uploads, if you are providing data as a `Buffer` (common in Node.js when handling file streams or direct file reads), the package automatically uses `form-data` internally to correctly construct the multipart/form-data request. This ensures seamless file uploads from server-side buffers.
|
|
233
241
|
|
|
242
|
+
## Multi-User Authentication
|
|
243
|
+
|
|
244
|
+
The Oxy Services library now supports multi-user authentication, allowing users to sign in with multiple accounts simultaneously and switch between them seamlessly.
|
|
245
|
+
|
|
246
|
+
### Features
|
|
247
|
+
|
|
248
|
+
- **Multiple Account Support**: Users can sign in with multiple accounts and switch between them
|
|
249
|
+
- **Account Switcher**: Built-in UI component for easy account switching
|
|
250
|
+
- **Session Management**: View and manage active sessions across all devices
|
|
251
|
+
- **Remote Logout**: Log out from specific sessions remotely
|
|
252
|
+
- **Device Tracking**: Track session activity across different devices and platforms
|
|
253
|
+
|
|
254
|
+
### Usage
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
import { OxyProvider, useOxy } from '@oxyhq/services/full';
|
|
258
|
+
|
|
259
|
+
// The OxyProvider automatically handles multi-user state
|
|
260
|
+
function App() {
|
|
261
|
+
return (
|
|
262
|
+
<OxyProvider oxyServices={oxyServices}>
|
|
263
|
+
<MyApp />
|
|
264
|
+
</OxyProvider>
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function MyApp() {
|
|
269
|
+
const {
|
|
270
|
+
user, // Current active user
|
|
271
|
+
users, // Array of all authenticated users
|
|
272
|
+
switchUser, // Switch to a different user
|
|
273
|
+
removeUser, // Remove a user from the account list
|
|
274
|
+
getUserSessions, // Get sessions for a user
|
|
275
|
+
logoutSession // Logout from a specific session
|
|
276
|
+
} = useOxy();
|
|
277
|
+
|
|
278
|
+
// Switch to a different user
|
|
279
|
+
const handleSwitchUser = async (userId) => {
|
|
280
|
+
await switchUser(userId);
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
// Remove a user account
|
|
284
|
+
const handleRemoveUser = async (userId) => {
|
|
285
|
+
await removeUser(userId);
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
// Get sessions for current user
|
|
289
|
+
const handleGetSessions = async () => {
|
|
290
|
+
const sessions = await getUserSessions();
|
|
291
|
+
console.log('Active sessions:', sessions);
|
|
292
|
+
};
|
|
293
|
+
|
|
294
|
+
return (
|
|
295
|
+
<div>
|
|
296
|
+
<h1>Welcome, {user?.username}</h1>
|
|
297
|
+
<p>You have {users.length} account(s) signed in</p>
|
|
298
|
+
|
|
299
|
+
{/* Account switcher */}
|
|
300
|
+
{users.length > 1 && (
|
|
301
|
+
<AccountSwitcher
|
|
302
|
+
users={users}
|
|
303
|
+
currentUser={user}
|
|
304
|
+
onSwitchUser={handleSwitchUser}
|
|
305
|
+
/>
|
|
306
|
+
)}
|
|
307
|
+
</div>
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Built-in UI Components
|
|
313
|
+
|
|
314
|
+
The library includes several UI components for multi-user functionality:
|
|
315
|
+
|
|
316
|
+
#### AccountSwitcherScreen
|
|
317
|
+
Displays all authenticated accounts and allows switching between them:
|
|
318
|
+
|
|
319
|
+
```typescript
|
|
320
|
+
import { AccountSwitcherScreen } from '@oxyhq/services/full';
|
|
321
|
+
|
|
322
|
+
// The component is automatically available through OxyProvider navigation
|
|
323
|
+
// Access via: showBottomSheet('AccountSwitcher')
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
#### SessionManagementScreen
|
|
327
|
+
Shows active sessions across devices with logout capabilities:
|
|
328
|
+
|
|
329
|
+
```typescript
|
|
330
|
+
import { SessionManagementScreen } from '@oxyhq/services/full';
|
|
331
|
+
|
|
332
|
+
// Access via: showBottomSheet('SessionManagement')
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
#### Enhanced SignInScreen
|
|
336
|
+
The sign-in screen now supports adding additional accounts:
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
// When user is already authenticated, the sign-in screen
|
|
340
|
+
// automatically switches to "Add Account" mode
|
|
341
|
+
const { showBottomSheet } = useOxy();
|
|
342
|
+
|
|
343
|
+
// Show sign-in screen (will show "Add Account" if user is authenticated)
|
|
344
|
+
showBottomSheet('SignIn');
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### API Reference
|
|
348
|
+
|
|
349
|
+
#### Multi-User Context Methods
|
|
350
|
+
|
|
351
|
+
```typescript
|
|
352
|
+
interface OxyContextState {
|
|
353
|
+
// Multi-user state
|
|
354
|
+
user: User | null; // Current active user
|
|
355
|
+
users: AuthenticatedUser[]; // All authenticated users
|
|
356
|
+
|
|
357
|
+
// Multi-user methods
|
|
358
|
+
switchUser: (userId: string) => Promise<void>;
|
|
359
|
+
removeUser: (userId: string) => Promise<void>;
|
|
360
|
+
getUserSessions: (userId?: string) => Promise<SessionData[]>;
|
|
361
|
+
logoutSession: (sessionId: string, userId?: string) => Promise<void>;
|
|
362
|
+
logoutAll: () => Promise<void>; // Logout all users
|
|
363
|
+
}
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
#### Session Data Structure
|
|
367
|
+
|
|
368
|
+
```typescript
|
|
369
|
+
interface SessionData {
|
|
370
|
+
id: string;
|
|
371
|
+
deviceInfo: {
|
|
372
|
+
deviceType: string;
|
|
373
|
+
platform: string;
|
|
374
|
+
browser?: string;
|
|
375
|
+
os?: string;
|
|
376
|
+
ipAddress: string;
|
|
377
|
+
lastActive: Date;
|
|
378
|
+
};
|
|
379
|
+
createdAt: Date;
|
|
380
|
+
isCurrent: boolean;
|
|
381
|
+
}
|
|
382
|
+
```
|
|
383
|
+
|
|
234
384
|
## Usage Examples
|
|
235
385
|
|
|
236
386
|
### File Management
|
package/UI_COMPONENTS.md
CHANGED
|
@@ -30,12 +30,13 @@ import { OxyServices, OxyProvider, OxySignInButton } from '@oxyhq/services/full'
|
|
|
30
30
|
- [OxySignInButton](#oxysigninbutton)
|
|
31
31
|
- [OxyLogo](#oxylogo)
|
|
32
32
|
- [Avatar](#avatar)
|
|
33
|
-
<<<<<<< HEAD
|
|
34
|
-
- [Screens](#screens)
|
|
35
|
-
- [AccountSettingsScreen](#accountsettingsscreen)
|
|
36
|
-
=======
|
|
37
33
|
- [FollowButton](#followbutton)
|
|
38
|
-
|
|
34
|
+
- [Multi-User Components](#multi-user-components)
|
|
35
|
+
- [AccountSwitcherScreen](#accountswitcherscreen)
|
|
36
|
+
- [SessionManagementScreen](#sessionmanagementscreen)
|
|
37
|
+
- [Enhanced SignInScreen](#enhanced-signinscreen)
|
|
38
|
+
- [Screens](#screens)
|
|
39
|
+
- [AccountCenterScreen](#accountcenterscreen)
|
|
39
40
|
|
|
40
41
|
## OxyProvider
|
|
41
42
|
|
|
@@ -170,48 +171,6 @@ npm install react-native-svg
|
|
|
170
171
|
yarn add react-native-svg
|
|
171
172
|
```
|
|
172
173
|
|
|
173
|
-
<<<<<<< HEAD
|
|
174
|
-
## Screens
|
|
175
|
-
|
|
176
|
-
### AccountSettingsScreen
|
|
177
|
-
|
|
178
|
-
The AccountSettingsScreen component provides a user interface for editing account settings and profile information.
|
|
179
|
-
|
|
180
|
-
```tsx
|
|
181
|
-
import { AccountSettingsScreen } from '@oxyhq/services';
|
|
182
|
-
|
|
183
|
-
// Basic usage
|
|
184
|
-
<AccountSettingsScreen
|
|
185
|
-
goBack={() => {}}
|
|
186
|
-
theme="light"
|
|
187
|
-
/>
|
|
188
|
-
|
|
189
|
-
// Start with a specific tab open
|
|
190
|
-
<AccountSettingsScreen
|
|
191
|
-
goBack={() => {}}
|
|
192
|
-
theme="dark"
|
|
193
|
-
activeTab="password"
|
|
194
|
-
/>
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
#### Props
|
|
198
|
-
|
|
199
|
-
| Prop | Type | Default | Description |
|
|
200
|
-
|------|------|---------|-------------|
|
|
201
|
-
| activeTab | `'profile' \| 'password' \| 'notifications'` | `'profile'` | Initial active tab |
|
|
202
|
-
| theme | `'light' \| 'dark'` | `'light'` | Theme to use for styling |
|
|
203
|
-
| goBack | `() => void` | | Function to call when the back button is pressed |
|
|
204
|
-
|
|
205
|
-
#### Features
|
|
206
|
-
|
|
207
|
-
The screen is divided into three tabs:
|
|
208
|
-
|
|
209
|
-
1. **Profile**: Update username, email, bio, and avatar
|
|
210
|
-
2. **Password**: Change account password with validation
|
|
211
|
-
3. **Notifications**: Configure notification preferences
|
|
212
|
-
|
|
213
|
-
For more details, see [the documentation](./docs/screens/AccountSettings.md).
|
|
214
|
-
=======
|
|
215
174
|
## FollowButton
|
|
216
175
|
|
|
217
176
|
An animated button component for social interactions that toggles between "Follow" and "Following" states with smooth transitions.
|
|
@@ -264,4 +223,141 @@ yarn add react-native-reanimated
|
|
|
264
223
|
```
|
|
265
224
|
|
|
266
225
|
> **Note:** After installing react-native-reanimated, you may need to set up the Babel plugin. Add `'react-native-reanimated/plugin'` to your Babel plugins in `babel.config.js`.
|
|
267
|
-
|
|
226
|
+
|
|
227
|
+
## Multi-User Components
|
|
228
|
+
|
|
229
|
+
The Oxy Services library includes several components specifically designed for multi-user authentication and session management.
|
|
230
|
+
|
|
231
|
+
### AccountSwitcherScreen
|
|
232
|
+
|
|
233
|
+
A screen component that displays all authenticated user accounts and allows switching between them.
|
|
234
|
+
|
|
235
|
+
**Features:**
|
|
236
|
+
- Display all authenticated user accounts
|
|
237
|
+
- Switch between accounts with a single tap
|
|
238
|
+
- Remove accounts from the list
|
|
239
|
+
- Add new accounts
|
|
240
|
+
- Visual indication of the current active account
|
|
241
|
+
|
|
242
|
+
**Usage:**
|
|
243
|
+
```tsx
|
|
244
|
+
import { useOxy } from '@oxyhq/services/full';
|
|
245
|
+
|
|
246
|
+
function MyComponent() {
|
|
247
|
+
const { showBottomSheet } = useOxy();
|
|
248
|
+
|
|
249
|
+
const openAccountSwitcher = () => {
|
|
250
|
+
showBottomSheet('AccountSwitcher');
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
return (
|
|
254
|
+
<button onClick={openAccountSwitcher}>
|
|
255
|
+
Switch Account
|
|
256
|
+
</button>
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**Navigation Path:** Available via `showBottomSheet('AccountSwitcher')`
|
|
262
|
+
|
|
263
|
+
### SessionManagementScreen
|
|
264
|
+
|
|
265
|
+
A comprehensive session management interface that shows active sessions across all devices with logout capabilities.
|
|
266
|
+
|
|
267
|
+
**Features:**
|
|
268
|
+
- View all active sessions across devices
|
|
269
|
+
- Display device information (platform, browser, OS, IP address)
|
|
270
|
+
- Individual session logout
|
|
271
|
+
- Bulk logout operations
|
|
272
|
+
- Session activity timestamps
|
|
273
|
+
- Current session indication
|
|
274
|
+
|
|
275
|
+
**Usage:**
|
|
276
|
+
```tsx
|
|
277
|
+
import { useOxy } from '@oxyhq/services/full';
|
|
278
|
+
|
|
279
|
+
function MyComponent() {
|
|
280
|
+
const { showBottomSheet } = useOxy();
|
|
281
|
+
|
|
282
|
+
const openSessionManager = () => {
|
|
283
|
+
showBottomSheet('SessionManagement');
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
return (
|
|
287
|
+
<button onClick={openSessionManager}>
|
|
288
|
+
Manage Sessions
|
|
289
|
+
</button>
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
**Navigation Path:** Available via `showBottomSheet('SessionManagement')`
|
|
295
|
+
|
|
296
|
+
### Enhanced SignInScreen
|
|
297
|
+
|
|
298
|
+
The sign-in screen has been enhanced to support multi-user functionality. When a user is already authenticated, it automatically switches to "Add Account" mode.
|
|
299
|
+
|
|
300
|
+
**Features:**
|
|
301
|
+
- Standard sign-in/sign-up functionality
|
|
302
|
+
- Automatic "Add Account" mode when user is authenticated
|
|
303
|
+
- Seamless integration with existing authentication flow
|
|
304
|
+
- Support for multiple account registration
|
|
305
|
+
|
|
306
|
+
**Usage:**
|
|
307
|
+
```tsx
|
|
308
|
+
import { useOxy } from '@oxyhq/services/full';
|
|
309
|
+
|
|
310
|
+
function MyComponent() {
|
|
311
|
+
const { showBottomSheet, user } = useOxy();
|
|
312
|
+
|
|
313
|
+
const openSignIn = () => {
|
|
314
|
+
// Will show "Add Account" mode if user is already authenticated
|
|
315
|
+
showBottomSheet('SignIn');
|
|
316
|
+
};
|
|
317
|
+
|
|
318
|
+
return (
|
|
319
|
+
<button onClick={openSignIn}>
|
|
320
|
+
{user ? 'Add Another Account' : 'Sign In'}
|
|
321
|
+
</button>
|
|
322
|
+
);
|
|
323
|
+
}
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Multi-User Context Integration:**
|
|
327
|
+
```tsx
|
|
328
|
+
// The enhanced context provides multi-user functionality
|
|
329
|
+
const {
|
|
330
|
+
user, // Current active user
|
|
331
|
+
users, // All authenticated users
|
|
332
|
+
switchUser, // Switch to different user
|
|
333
|
+
removeUser, // Remove user from account list
|
|
334
|
+
getUserSessions, // Get user's active sessions
|
|
335
|
+
logoutSession, // Logout from specific session
|
|
336
|
+
logoutAll // Logout from all accounts
|
|
337
|
+
} = useOxy();
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## Screens
|
|
341
|
+
|
|
342
|
+
### AccountCenterScreen
|
|
343
|
+
|
|
344
|
+
The AccountCenterScreen component serves as a central hub for users to access and manage their account settings, preferences, and information.
|
|
345
|
+
|
|
346
|
+
```tsx
|
|
347
|
+
import { AccountCenterScreen } from '@oxyhq/services';
|
|
348
|
+
|
|
349
|
+
// Basic usage
|
|
350
|
+
<AccountCenterScreen
|
|
351
|
+
user={currentUser}
|
|
352
|
+
onEditProfile={() => console.log('Edit profile')}
|
|
353
|
+
onChangePassword={() => console.log('Change password')}
|
|
354
|
+
/>
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
#### Props
|
|
358
|
+
|
|
359
|
+
| Prop | Type | Default | Description |
|
|
360
|
+
|------|------|---------|-------------|
|
|
361
|
+
| user | `User` | *Required* | The current user object |
|
|
362
|
+
| onEditProfile | `() => void` | `undefined` | Callback function invoked when editing the profile |
|
|
363
|
+
| onChangePassword | `() => void` | `undefined` | Callback function invoked when changing the password |
|
|
@@ -111,22 +111,50 @@ const OxyContextProvider = ({
|
|
|
111
111
|
// Check for multi-user data first
|
|
112
112
|
const usersData = await storage.getItem(keys.users);
|
|
113
113
|
const activeUserId = await storage.getItem(keys.activeUserId);
|
|
114
|
+
console.log('InitAuth - usersData:', usersData);
|
|
115
|
+
console.log('InitAuth - activeUserId:', activeUserId);
|
|
114
116
|
if (usersData) {
|
|
115
117
|
// Multi-user setup exists
|
|
116
118
|
const parsedUsers = JSON.parse(usersData);
|
|
119
|
+
console.log('InitAuth - parsedUsers:', parsedUsers);
|
|
117
120
|
setUsers(parsedUsers);
|
|
118
121
|
if (activeUserId && parsedUsers.length > 0) {
|
|
119
|
-
const activeUser = parsedUsers.find(u => u.
|
|
122
|
+
const activeUser = parsedUsers.find(u => u.id === activeUserId);
|
|
123
|
+
console.log('InitAuth - activeUser found:', activeUser);
|
|
120
124
|
if (activeUser) {
|
|
121
125
|
setUser(activeUser);
|
|
122
126
|
oxyServices.setTokens(activeUser.accessToken, activeUser.refreshToken || activeUser.accessToken);
|
|
123
127
|
|
|
124
128
|
// Validate the tokens
|
|
125
129
|
const isValid = await oxyServices.validate();
|
|
130
|
+
console.log('InitAuth - token validation result:', isValid);
|
|
126
131
|
if (!isValid) {
|
|
127
|
-
// Remove invalid user
|
|
128
|
-
|
|
132
|
+
// Remove invalid user during initialization
|
|
133
|
+
console.log('InitAuth - removing invalid user due to failed validation');
|
|
134
|
+
const filteredUsers = parsedUsers.filter(u => u.id !== activeUser.id);
|
|
135
|
+
setUsers(filteredUsers);
|
|
136
|
+
await saveUsersToStorage(filteredUsers);
|
|
137
|
+
|
|
138
|
+
// If there are other users, switch to the first one
|
|
139
|
+
if (filteredUsers.length > 0) {
|
|
140
|
+
const newActiveUser = filteredUsers[0];
|
|
141
|
+
setUser(newActiveUser);
|
|
142
|
+
await saveActiveUserId(newActiveUser.id);
|
|
143
|
+
oxyServices.setTokens(newActiveUser.accessToken, newActiveUser.refreshToken || newActiveUser.accessToken);
|
|
144
|
+
if (onAuthStateChange) {
|
|
145
|
+
onAuthStateChange(newActiveUser);
|
|
146
|
+
}
|
|
147
|
+
} else {
|
|
148
|
+
// No valid users left
|
|
149
|
+
setUser(null);
|
|
150
|
+
await storage.removeItem(keys.activeUserId);
|
|
151
|
+
oxyServices.clearTokens();
|
|
152
|
+
if (onAuthStateChange) {
|
|
153
|
+
onAuthStateChange(null);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
129
156
|
} else {
|
|
157
|
+
console.log('InitAuth - user validated successfully, setting auth state');
|
|
130
158
|
// Notify about auth state change
|
|
131
159
|
if (onAuthStateChange) {
|
|
132
160
|
onAuthStateChange(activeUser);
|
|
@@ -135,6 +163,7 @@ const OxyContextProvider = ({
|
|
|
135
163
|
}
|
|
136
164
|
}
|
|
137
165
|
} else {
|
|
166
|
+
console.log('InitAuth - no users data, checking legacy auth');
|
|
138
167
|
// Check for legacy single-user data and migrate
|
|
139
168
|
await migrateLegacyAuth();
|
|
140
169
|
}
|
|
@@ -174,7 +203,7 @@ const OxyContextProvider = ({
|
|
|
174
203
|
|
|
175
204
|
// Store in new multi-user format
|
|
176
205
|
await storage.setItem(keys.users, JSON.stringify([authenticatedUser]));
|
|
177
|
-
await storage.setItem(keys.activeUserId, authenticatedUser.
|
|
206
|
+
await storage.setItem(keys.activeUserId, authenticatedUser.id);
|
|
178
207
|
|
|
179
208
|
// Set state
|
|
180
209
|
setUsers([authenticatedUser]);
|
|
@@ -267,7 +296,7 @@ const OxyContextProvider = ({
|
|
|
267
296
|
};
|
|
268
297
|
|
|
269
298
|
// Check if user already exists
|
|
270
|
-
const existingUserIndex = users.findIndex(u => u.
|
|
299
|
+
const existingUserIndex = users.findIndex(u => u.id === newUser.id);
|
|
271
300
|
let updatedUsers;
|
|
272
301
|
if (existingUserIndex >= 0) {
|
|
273
302
|
// Update existing user
|
|
@@ -284,7 +313,7 @@ const OxyContextProvider = ({
|
|
|
284
313
|
|
|
285
314
|
// Save to storage
|
|
286
315
|
await saveUsersToStorage(updatedUsers);
|
|
287
|
-
await saveActiveUserId(newUser.
|
|
316
|
+
await saveActiveUserId(newUser.id);
|
|
288
317
|
|
|
289
318
|
// Notify about auth state change
|
|
290
319
|
if (onAuthStateChange) {
|
|
@@ -305,9 +334,9 @@ const OxyContextProvider = ({
|
|
|
305
334
|
setIsLoading(true);
|
|
306
335
|
setError(null);
|
|
307
336
|
try {
|
|
308
|
-
const targetUserId = userId || user?.
|
|
337
|
+
const targetUserId = userId || user?.id;
|
|
309
338
|
if (!targetUserId) return;
|
|
310
|
-
const targetUser = users.find(u => u.
|
|
339
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
311
340
|
if (targetUser) {
|
|
312
341
|
// Set the target user's tokens to logout
|
|
313
342
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -318,17 +347,17 @@ const OxyContextProvider = ({
|
|
|
318
347
|
}
|
|
319
348
|
|
|
320
349
|
// Remove user from list
|
|
321
|
-
const updatedUsers = users.filter(u => u.
|
|
350
|
+
const updatedUsers = users.filter(u => u.id !== targetUserId);
|
|
322
351
|
setUsers(updatedUsers);
|
|
323
352
|
|
|
324
353
|
// If logging out current user, switch to another user or clear
|
|
325
|
-
if (targetUserId === user?.
|
|
354
|
+
if (targetUserId === user?.id) {
|
|
326
355
|
if (updatedUsers.length > 0) {
|
|
327
356
|
// Switch to first available user
|
|
328
357
|
const nextUser = updatedUsers[0];
|
|
329
358
|
setUser(nextUser);
|
|
330
359
|
oxyServices.setTokens(nextUser.accessToken, nextUser.refreshToken || nextUser.accessToken);
|
|
331
|
-
await saveActiveUserId(nextUser.
|
|
360
|
+
await saveActiveUserId(nextUser.id);
|
|
332
361
|
if (onAuthStateChange) {
|
|
333
362
|
onAuthStateChange(nextUser);
|
|
334
363
|
}
|
|
@@ -366,7 +395,7 @@ const OxyContextProvider = ({
|
|
|
366
395
|
oxyServices.setTokens(userItem.accessToken, userItem.refreshToken || userItem.accessToken);
|
|
367
396
|
await oxyServices.logout();
|
|
368
397
|
} catch (logoutError) {
|
|
369
|
-
console.warn(`Logout failed for user ${userItem.
|
|
398
|
+
console.warn(`Logout failed for user ${userItem.id}:`, logoutError);
|
|
370
399
|
}
|
|
371
400
|
}
|
|
372
401
|
|
|
@@ -393,7 +422,7 @@ const OxyContextProvider = ({
|
|
|
393
422
|
if (!storage) throw new Error('Storage not initialized');
|
|
394
423
|
setError(null);
|
|
395
424
|
try {
|
|
396
|
-
const targetUser = users.find(u => u.
|
|
425
|
+
const targetUser = users.find(u => u.id === userId);
|
|
397
426
|
if (!targetUser) {
|
|
398
427
|
throw new Error('User not found');
|
|
399
428
|
}
|
|
@@ -425,13 +454,13 @@ const OxyContextProvider = ({
|
|
|
425
454
|
const removeUser = async userId => {
|
|
426
455
|
if (!storage) throw new Error('Storage not initialized');
|
|
427
456
|
try {
|
|
428
|
-
const updatedUsers = users.filter(u => u.
|
|
457
|
+
const updatedUsers = users.filter(u => u.id !== userId);
|
|
429
458
|
setUsers(updatedUsers);
|
|
430
459
|
|
|
431
460
|
// If removing current user, switch to another or clear
|
|
432
|
-
if (userId === user?.
|
|
461
|
+
if (userId === user?.id) {
|
|
433
462
|
if (updatedUsers.length > 0) {
|
|
434
|
-
await switchUser(updatedUsers[0].
|
|
463
|
+
await switchUser(updatedUsers[0].id);
|
|
435
464
|
} else {
|
|
436
465
|
setUser(null);
|
|
437
466
|
oxyServices.clearTokens();
|
|
@@ -453,14 +482,14 @@ const OxyContextProvider = ({
|
|
|
453
482
|
// Get user sessions
|
|
454
483
|
const getUserSessions = async userId => {
|
|
455
484
|
try {
|
|
456
|
-
const targetUserId = userId || user?.
|
|
485
|
+
const targetUserId = userId || user?.id;
|
|
457
486
|
if (!targetUserId) return [];
|
|
458
|
-
const targetUser = users.find(u => u.
|
|
487
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
459
488
|
if (!targetUser) return [];
|
|
460
489
|
|
|
461
490
|
// Store current tokens to restore later
|
|
462
491
|
const currentUser = user;
|
|
463
|
-
const wasCurrentUser = targetUserId === user?.
|
|
492
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
464
493
|
if (!wasCurrentUser) {
|
|
465
494
|
// Temporarily switch to target user's tokens
|
|
466
495
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -484,14 +513,14 @@ const OxyContextProvider = ({
|
|
|
484
513
|
// Logout specific session
|
|
485
514
|
const logoutSession = async (sessionId, userId) => {
|
|
486
515
|
try {
|
|
487
|
-
const targetUserId = userId || user?.
|
|
516
|
+
const targetUserId = userId || user?.id;
|
|
488
517
|
if (!targetUserId) return;
|
|
489
|
-
const targetUser = users.find(u => u.
|
|
518
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
490
519
|
if (!targetUser) return;
|
|
491
520
|
|
|
492
521
|
// Store current tokens to restore later
|
|
493
522
|
const currentUser = user;
|
|
494
|
-
const wasCurrentUser = targetUserId === user?.
|
|
523
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
495
524
|
if (!wasCurrentUser) {
|
|
496
525
|
// Temporarily switch to target user's tokens
|
|
497
526
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getStorageKeys","prefix","users","activeUserId","accessToken","refreshToken","user","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","setUser","useState","setUsers","isLoading","setIsLoading","setError","storage","setStorage","keys","useEffect","initStorage","platformStorage","initAuth","usersData","parsedUsers","JSON","parse","length","activeUser","find","u","_id","setTokens","isValid","validate","removeUser","migrateLegacyAuth","err","clearAllStorage","clearTokens","storedUser","parsedUser","authenticatedUser","undefined","stringify","clearStorage","saveUsersToStorage","usersList","saveActiveUserId","userId","storeTokens","response","token","login","username","password","newUser","existingUserIndex","findIndex","updatedUsers","message","logout","targetUserId","targetUser","logoutError","warn","filter","nextUser","logoutAll","userItem","switchUser","getUserSessions","currentUser","wasCurrentUser","sessions","logoutSession","sessionId","signUp","email","showBottomSheet","useCallback","screenOrConfig","current","expand","_navigateToScreen","setTimeout","screen","props","hideBottomSheet","close","contextValue","isAuthenticated","jsx","Provider","exports","useOxy","context","useContext"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyContext","createContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","error","console","Error","getStorageKeys","prefix","users","activeUserId","accessToken","refreshToken","user","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","setUser","useState","setUsers","isLoading","setIsLoading","setError","storage","setStorage","keys","useEffect","initStorage","platformStorage","initAuth","usersData","log","parsedUsers","JSON","parse","length","activeUser","find","u","id","setTokens","isValid","validate","filteredUsers","filter","saveUsersToStorage","newActiveUser","saveActiveUserId","clearTokens","migrateLegacyAuth","err","clearAllStorage","storedUser","parsedUser","authenticatedUser","undefined","stringify","clearStorage","usersList","userId","storeTokens","response","token","login","username","password","newUser","existingUserIndex","findIndex","updatedUsers","message","logout","targetUserId","targetUser","logoutError","warn","nextUser","logoutAll","userItem","switchUser","removeUser","getUserSessions","currentUser","wasCurrentUser","sessions","logoutSession","sessionId","signUp","email","showBottomSheet","useCallback","screenOrConfig","current","expand","_navigateToScreen","setTimeout","screen","props","hideBottomSheet","close","contextValue","isAuthenticated","jsx","Provider","exports","useOxy","context","useContext"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -109,22 +109,50 @@ export const OxyContextProvider = ({
|
|
|
109
109
|
// Check for multi-user data first
|
|
110
110
|
const usersData = await storage.getItem(keys.users);
|
|
111
111
|
const activeUserId = await storage.getItem(keys.activeUserId);
|
|
112
|
+
console.log('InitAuth - usersData:', usersData);
|
|
113
|
+
console.log('InitAuth - activeUserId:', activeUserId);
|
|
112
114
|
if (usersData) {
|
|
113
115
|
// Multi-user setup exists
|
|
114
116
|
const parsedUsers = JSON.parse(usersData);
|
|
117
|
+
console.log('InitAuth - parsedUsers:', parsedUsers);
|
|
115
118
|
setUsers(parsedUsers);
|
|
116
119
|
if (activeUserId && parsedUsers.length > 0) {
|
|
117
|
-
const activeUser = parsedUsers.find(u => u.
|
|
120
|
+
const activeUser = parsedUsers.find(u => u.id === activeUserId);
|
|
121
|
+
console.log('InitAuth - activeUser found:', activeUser);
|
|
118
122
|
if (activeUser) {
|
|
119
123
|
setUser(activeUser);
|
|
120
124
|
oxyServices.setTokens(activeUser.accessToken, activeUser.refreshToken || activeUser.accessToken);
|
|
121
125
|
|
|
122
126
|
// Validate the tokens
|
|
123
127
|
const isValid = await oxyServices.validate();
|
|
128
|
+
console.log('InitAuth - token validation result:', isValid);
|
|
124
129
|
if (!isValid) {
|
|
125
|
-
// Remove invalid user
|
|
126
|
-
|
|
130
|
+
// Remove invalid user during initialization
|
|
131
|
+
console.log('InitAuth - removing invalid user due to failed validation');
|
|
132
|
+
const filteredUsers = parsedUsers.filter(u => u.id !== activeUser.id);
|
|
133
|
+
setUsers(filteredUsers);
|
|
134
|
+
await saveUsersToStorage(filteredUsers);
|
|
135
|
+
|
|
136
|
+
// If there are other users, switch to the first one
|
|
137
|
+
if (filteredUsers.length > 0) {
|
|
138
|
+
const newActiveUser = filteredUsers[0];
|
|
139
|
+
setUser(newActiveUser);
|
|
140
|
+
await saveActiveUserId(newActiveUser.id);
|
|
141
|
+
oxyServices.setTokens(newActiveUser.accessToken, newActiveUser.refreshToken || newActiveUser.accessToken);
|
|
142
|
+
if (onAuthStateChange) {
|
|
143
|
+
onAuthStateChange(newActiveUser);
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
// No valid users left
|
|
147
|
+
setUser(null);
|
|
148
|
+
await storage.removeItem(keys.activeUserId);
|
|
149
|
+
oxyServices.clearTokens();
|
|
150
|
+
if (onAuthStateChange) {
|
|
151
|
+
onAuthStateChange(null);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
127
154
|
} else {
|
|
155
|
+
console.log('InitAuth - user validated successfully, setting auth state');
|
|
128
156
|
// Notify about auth state change
|
|
129
157
|
if (onAuthStateChange) {
|
|
130
158
|
onAuthStateChange(activeUser);
|
|
@@ -133,6 +161,7 @@ export const OxyContextProvider = ({
|
|
|
133
161
|
}
|
|
134
162
|
}
|
|
135
163
|
} else {
|
|
164
|
+
console.log('InitAuth - no users data, checking legacy auth');
|
|
136
165
|
// Check for legacy single-user data and migrate
|
|
137
166
|
await migrateLegacyAuth();
|
|
138
167
|
}
|
|
@@ -172,7 +201,7 @@ export const OxyContextProvider = ({
|
|
|
172
201
|
|
|
173
202
|
// Store in new multi-user format
|
|
174
203
|
await storage.setItem(keys.users, JSON.stringify([authenticatedUser]));
|
|
175
|
-
await storage.setItem(keys.activeUserId, authenticatedUser.
|
|
204
|
+
await storage.setItem(keys.activeUserId, authenticatedUser.id);
|
|
176
205
|
|
|
177
206
|
// Set state
|
|
178
207
|
setUsers([authenticatedUser]);
|
|
@@ -265,7 +294,7 @@ export const OxyContextProvider = ({
|
|
|
265
294
|
};
|
|
266
295
|
|
|
267
296
|
// Check if user already exists
|
|
268
|
-
const existingUserIndex = users.findIndex(u => u.
|
|
297
|
+
const existingUserIndex = users.findIndex(u => u.id === newUser.id);
|
|
269
298
|
let updatedUsers;
|
|
270
299
|
if (existingUserIndex >= 0) {
|
|
271
300
|
// Update existing user
|
|
@@ -282,7 +311,7 @@ export const OxyContextProvider = ({
|
|
|
282
311
|
|
|
283
312
|
// Save to storage
|
|
284
313
|
await saveUsersToStorage(updatedUsers);
|
|
285
|
-
await saveActiveUserId(newUser.
|
|
314
|
+
await saveActiveUserId(newUser.id);
|
|
286
315
|
|
|
287
316
|
// Notify about auth state change
|
|
288
317
|
if (onAuthStateChange) {
|
|
@@ -303,9 +332,9 @@ export const OxyContextProvider = ({
|
|
|
303
332
|
setIsLoading(true);
|
|
304
333
|
setError(null);
|
|
305
334
|
try {
|
|
306
|
-
const targetUserId = userId || user?.
|
|
335
|
+
const targetUserId = userId || user?.id;
|
|
307
336
|
if (!targetUserId) return;
|
|
308
|
-
const targetUser = users.find(u => u.
|
|
337
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
309
338
|
if (targetUser) {
|
|
310
339
|
// Set the target user's tokens to logout
|
|
311
340
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -316,17 +345,17 @@ export const OxyContextProvider = ({
|
|
|
316
345
|
}
|
|
317
346
|
|
|
318
347
|
// Remove user from list
|
|
319
|
-
const updatedUsers = users.filter(u => u.
|
|
348
|
+
const updatedUsers = users.filter(u => u.id !== targetUserId);
|
|
320
349
|
setUsers(updatedUsers);
|
|
321
350
|
|
|
322
351
|
// If logging out current user, switch to another user or clear
|
|
323
|
-
if (targetUserId === user?.
|
|
352
|
+
if (targetUserId === user?.id) {
|
|
324
353
|
if (updatedUsers.length > 0) {
|
|
325
354
|
// Switch to first available user
|
|
326
355
|
const nextUser = updatedUsers[0];
|
|
327
356
|
setUser(nextUser);
|
|
328
357
|
oxyServices.setTokens(nextUser.accessToken, nextUser.refreshToken || nextUser.accessToken);
|
|
329
|
-
await saveActiveUserId(nextUser.
|
|
358
|
+
await saveActiveUserId(nextUser.id);
|
|
330
359
|
if (onAuthStateChange) {
|
|
331
360
|
onAuthStateChange(nextUser);
|
|
332
361
|
}
|
|
@@ -364,7 +393,7 @@ export const OxyContextProvider = ({
|
|
|
364
393
|
oxyServices.setTokens(userItem.accessToken, userItem.refreshToken || userItem.accessToken);
|
|
365
394
|
await oxyServices.logout();
|
|
366
395
|
} catch (logoutError) {
|
|
367
|
-
console.warn(`Logout failed for user ${userItem.
|
|
396
|
+
console.warn(`Logout failed for user ${userItem.id}:`, logoutError);
|
|
368
397
|
}
|
|
369
398
|
}
|
|
370
399
|
|
|
@@ -391,7 +420,7 @@ export const OxyContextProvider = ({
|
|
|
391
420
|
if (!storage) throw new Error('Storage not initialized');
|
|
392
421
|
setError(null);
|
|
393
422
|
try {
|
|
394
|
-
const targetUser = users.find(u => u.
|
|
423
|
+
const targetUser = users.find(u => u.id === userId);
|
|
395
424
|
if (!targetUser) {
|
|
396
425
|
throw new Error('User not found');
|
|
397
426
|
}
|
|
@@ -423,13 +452,13 @@ export const OxyContextProvider = ({
|
|
|
423
452
|
const removeUser = async userId => {
|
|
424
453
|
if (!storage) throw new Error('Storage not initialized');
|
|
425
454
|
try {
|
|
426
|
-
const updatedUsers = users.filter(u => u.
|
|
455
|
+
const updatedUsers = users.filter(u => u.id !== userId);
|
|
427
456
|
setUsers(updatedUsers);
|
|
428
457
|
|
|
429
458
|
// If removing current user, switch to another or clear
|
|
430
|
-
if (userId === user?.
|
|
459
|
+
if (userId === user?.id) {
|
|
431
460
|
if (updatedUsers.length > 0) {
|
|
432
|
-
await switchUser(updatedUsers[0].
|
|
461
|
+
await switchUser(updatedUsers[0].id);
|
|
433
462
|
} else {
|
|
434
463
|
setUser(null);
|
|
435
464
|
oxyServices.clearTokens();
|
|
@@ -451,14 +480,14 @@ export const OxyContextProvider = ({
|
|
|
451
480
|
// Get user sessions
|
|
452
481
|
const getUserSessions = async userId => {
|
|
453
482
|
try {
|
|
454
|
-
const targetUserId = userId || user?.
|
|
483
|
+
const targetUserId = userId || user?.id;
|
|
455
484
|
if (!targetUserId) return [];
|
|
456
|
-
const targetUser = users.find(u => u.
|
|
485
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
457
486
|
if (!targetUser) return [];
|
|
458
487
|
|
|
459
488
|
// Store current tokens to restore later
|
|
460
489
|
const currentUser = user;
|
|
461
|
-
const wasCurrentUser = targetUserId === user?.
|
|
490
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
462
491
|
if (!wasCurrentUser) {
|
|
463
492
|
// Temporarily switch to target user's tokens
|
|
464
493
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -482,14 +511,14 @@ export const OxyContextProvider = ({
|
|
|
482
511
|
// Logout specific session
|
|
483
512
|
const logoutSession = async (sessionId, userId) => {
|
|
484
513
|
try {
|
|
485
|
-
const targetUserId = userId || user?.
|
|
514
|
+
const targetUserId = userId || user?.id;
|
|
486
515
|
if (!targetUserId) return;
|
|
487
|
-
const targetUser = users.find(u => u.
|
|
516
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
488
517
|
if (!targetUser) return;
|
|
489
518
|
|
|
490
519
|
// Store current tokens to restore later
|
|
491
520
|
const currentUser = user;
|
|
492
|
-
const wasCurrentUser = targetUserId === user?.
|
|
521
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
493
522
|
if (!wasCurrentUser) {
|
|
494
523
|
// Temporarily switch to target user's tokens
|
|
495
524
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getStorageKeys","prefix","users","activeUserId","accessToken","refreshToken","user","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","setUser","setUsers","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","usersData","parsedUsers","JSON","parse","length","activeUser","find","u","_id","setTokens","isValid","validate","removeUser","migrateLegacyAuth","err","clearAllStorage","clearTokens","storedUser","parsedUser","authenticatedUser","undefined","stringify","clearStorage","saveUsersToStorage","usersList","saveActiveUserId","userId","storeTokens","response","token","login","username","password","newUser","existingUserIndex","findIndex","updatedUsers","message","logout","targetUserId","targetUser","logoutError","warn","filter","nextUser","logoutAll","userItem","switchUser","getUserSessions","currentUser","wasCurrentUser","sessions","logoutSession","sessionId","signUp","email","showBottomSheet","screenOrConfig","current","expand","_navigateToScreen","setTimeout","screen","props","hideBottomSheet","close","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useState","useEffect","useCallback","jsx","_jsx","OxyContext","WebStorage","getItem","key","localStorage","setItem","value","removeItem","clear","AsyncStorage","isReactNative","navigator","product","getStorage","asyncStorageModule","default","error","console","Error","getStorageKeys","prefix","users","activeUserId","accessToken","refreshToken","user","OxyContextProvider","children","oxyServices","storageKeyPrefix","onAuthStateChange","bottomSheetRef","setUser","setUsers","isLoading","setIsLoading","setError","storage","setStorage","keys","initStorage","platformStorage","initAuth","usersData","log","parsedUsers","JSON","parse","length","activeUser","find","u","id","setTokens","isValid","validate","filteredUsers","filter","saveUsersToStorage","newActiveUser","saveActiveUserId","clearTokens","migrateLegacyAuth","err","clearAllStorage","storedUser","parsedUser","authenticatedUser","undefined","stringify","clearStorage","usersList","userId","storeTokens","response","token","login","username","password","newUser","existingUserIndex","findIndex","updatedUsers","message","logout","targetUserId","targetUser","logoutError","warn","nextUser","logoutAll","userItem","switchUser","removeUser","getUserSessions","currentUser","wasCurrentUser","sessions","logoutSession","sessionId","signUp","email","showBottomSheet","screenOrConfig","current","expand","_navigateToScreen","setTimeout","screen","props","hideBottomSheet","close","contextValue","isAuthenticated","Provider","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAE,MAAM,OAAO,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,yBAAyB,CAAC;AAG9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,eAAe;IAE5B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrE,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAMD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACzC;AAoED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA+D,SAAS,EAAE,MAAM,OAAO,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,yBAAyB,CAAC;AAG9D,MAAM,WAAW,iBAAkB,SAAQ,IAAI;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,eAAe;IAE5B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAG7E,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrE,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGtC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACtG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAMD,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACzC;AAoED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8lBhE,CAAC;AAGF,eAAO,MAAM,MAAM,uBAMlB,CAAC"}
|
package/package.json
CHANGED
|
@@ -160,23 +160,54 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
160
160
|
const usersData = await storage.getItem(keys.users);
|
|
161
161
|
const activeUserId = await storage.getItem(keys.activeUserId);
|
|
162
162
|
|
|
163
|
+
console.log('InitAuth - usersData:', usersData);
|
|
164
|
+
console.log('InitAuth - activeUserId:', activeUserId);
|
|
165
|
+
|
|
163
166
|
if (usersData) {
|
|
164
167
|
// Multi-user setup exists
|
|
165
168
|
const parsedUsers: AuthenticatedUser[] = JSON.parse(usersData);
|
|
169
|
+
console.log('InitAuth - parsedUsers:', parsedUsers);
|
|
166
170
|
setUsers(parsedUsers);
|
|
167
171
|
|
|
168
172
|
if (activeUserId && parsedUsers.length > 0) {
|
|
169
|
-
const activeUser = parsedUsers.find(u => u.
|
|
173
|
+
const activeUser = parsedUsers.find(u => u.id === activeUserId);
|
|
174
|
+
console.log('InitAuth - activeUser found:', activeUser);
|
|
170
175
|
if (activeUser) {
|
|
171
176
|
setUser(activeUser);
|
|
172
177
|
oxyServices.setTokens(activeUser.accessToken, activeUser.refreshToken || activeUser.accessToken);
|
|
173
178
|
|
|
174
179
|
// Validate the tokens
|
|
175
180
|
const isValid = await oxyServices.validate();
|
|
181
|
+
console.log('InitAuth - token validation result:', isValid);
|
|
176
182
|
if (!isValid) {
|
|
177
|
-
// Remove invalid user
|
|
178
|
-
|
|
183
|
+
// Remove invalid user during initialization
|
|
184
|
+
console.log('InitAuth - removing invalid user due to failed validation');
|
|
185
|
+
const filteredUsers = parsedUsers.filter(u => u.id !== activeUser.id);
|
|
186
|
+
setUsers(filteredUsers);
|
|
187
|
+
await saveUsersToStorage(filteredUsers);
|
|
188
|
+
|
|
189
|
+
// If there are other users, switch to the first one
|
|
190
|
+
if (filteredUsers.length > 0) {
|
|
191
|
+
const newActiveUser = filteredUsers[0];
|
|
192
|
+
setUser(newActiveUser);
|
|
193
|
+
await saveActiveUserId(newActiveUser.id);
|
|
194
|
+
oxyServices.setTokens(newActiveUser.accessToken, newActiveUser.refreshToken || newActiveUser.accessToken);
|
|
195
|
+
|
|
196
|
+
if (onAuthStateChange) {
|
|
197
|
+
onAuthStateChange(newActiveUser);
|
|
198
|
+
}
|
|
199
|
+
} else {
|
|
200
|
+
// No valid users left
|
|
201
|
+
setUser(null);
|
|
202
|
+
await storage.removeItem(keys.activeUserId);
|
|
203
|
+
oxyServices.clearTokens();
|
|
204
|
+
|
|
205
|
+
if (onAuthStateChange) {
|
|
206
|
+
onAuthStateChange(null);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
179
209
|
} else {
|
|
210
|
+
console.log('InitAuth - user validated successfully, setting auth state');
|
|
180
211
|
// Notify about auth state change
|
|
181
212
|
if (onAuthStateChange) {
|
|
182
213
|
onAuthStateChange(activeUser);
|
|
@@ -185,6 +216,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
185
216
|
}
|
|
186
217
|
}
|
|
187
218
|
} else {
|
|
219
|
+
console.log('InitAuth - no users data, checking legacy auth');
|
|
188
220
|
// Check for legacy single-user data and migrate
|
|
189
221
|
await migrateLegacyAuth();
|
|
190
222
|
}
|
|
@@ -228,7 +260,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
228
260
|
|
|
229
261
|
// Store in new multi-user format
|
|
230
262
|
await storage.setItem(keys.users, JSON.stringify([authenticatedUser]));
|
|
231
|
-
await storage.setItem(keys.activeUserId, authenticatedUser.
|
|
263
|
+
await storage.setItem(keys.activeUserId, authenticatedUser.id);
|
|
232
264
|
|
|
233
265
|
// Set state
|
|
234
266
|
setUsers([authenticatedUser]);
|
|
@@ -327,7 +359,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
327
359
|
};
|
|
328
360
|
|
|
329
361
|
// Check if user already exists
|
|
330
|
-
const existingUserIndex = users.findIndex(u => u.
|
|
362
|
+
const existingUserIndex = users.findIndex(u => u.id === newUser.id);
|
|
331
363
|
let updatedUsers: AuthenticatedUser[];
|
|
332
364
|
|
|
333
365
|
if (existingUserIndex >= 0) {
|
|
@@ -345,7 +377,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
345
377
|
|
|
346
378
|
// Save to storage
|
|
347
379
|
await saveUsersToStorage(updatedUsers);
|
|
348
|
-
await saveActiveUserId(newUser.
|
|
380
|
+
await saveActiveUserId(newUser.id);
|
|
349
381
|
|
|
350
382
|
// Notify about auth state change
|
|
351
383
|
if (onAuthStateChange) {
|
|
@@ -369,10 +401,10 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
369
401
|
setError(null);
|
|
370
402
|
|
|
371
403
|
try {
|
|
372
|
-
const targetUserId = userId || user?.
|
|
404
|
+
const targetUserId = userId || user?.id;
|
|
373
405
|
if (!targetUserId) return;
|
|
374
406
|
|
|
375
|
-
const targetUser = users.find(u => u.
|
|
407
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
376
408
|
if (targetUser) {
|
|
377
409
|
// Set the target user's tokens to logout
|
|
378
410
|
oxyServices.setTokens(targetUser.accessToken, targetUser.refreshToken || targetUser.accessToken);
|
|
@@ -384,17 +416,17 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
384
416
|
}
|
|
385
417
|
|
|
386
418
|
// Remove user from list
|
|
387
|
-
const updatedUsers = users.filter(u => u.
|
|
419
|
+
const updatedUsers = users.filter(u => u.id !== targetUserId);
|
|
388
420
|
setUsers(updatedUsers);
|
|
389
421
|
|
|
390
422
|
// If logging out current user, switch to another user or clear
|
|
391
|
-
if (targetUserId === user?.
|
|
423
|
+
if (targetUserId === user?.id) {
|
|
392
424
|
if (updatedUsers.length > 0) {
|
|
393
425
|
// Switch to first available user
|
|
394
426
|
const nextUser = updatedUsers[0];
|
|
395
427
|
setUser(nextUser);
|
|
396
428
|
oxyServices.setTokens(nextUser.accessToken, nextUser.refreshToken || nextUser.accessToken);
|
|
397
|
-
await saveActiveUserId(nextUser.
|
|
429
|
+
await saveActiveUserId(nextUser.id);
|
|
398
430
|
|
|
399
431
|
if (onAuthStateChange) {
|
|
400
432
|
onAuthStateChange(nextUser);
|
|
@@ -436,7 +468,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
436
468
|
oxyServices.setTokens(userItem.accessToken, userItem.refreshToken || userItem.accessToken);
|
|
437
469
|
await oxyServices.logout();
|
|
438
470
|
} catch (logoutError) {
|
|
439
|
-
console.warn(`Logout failed for user ${userItem.
|
|
471
|
+
console.warn(`Logout failed for user ${userItem.id}:`, logoutError);
|
|
440
472
|
}
|
|
441
473
|
}
|
|
442
474
|
|
|
@@ -465,7 +497,7 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
465
497
|
setError(null);
|
|
466
498
|
|
|
467
499
|
try {
|
|
468
|
-
const targetUser = users.find(u => u.
|
|
500
|
+
const targetUser = users.find(u => u.id === userId);
|
|
469
501
|
if (!targetUser) {
|
|
470
502
|
throw new Error('User not found');
|
|
471
503
|
}
|
|
@@ -499,13 +531,13 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
499
531
|
if (!storage) throw new Error('Storage not initialized');
|
|
500
532
|
|
|
501
533
|
try {
|
|
502
|
-
const updatedUsers = users.filter(u => u.
|
|
534
|
+
const updatedUsers = users.filter(u => u.id !== userId);
|
|
503
535
|
setUsers(updatedUsers);
|
|
504
536
|
|
|
505
537
|
// If removing current user, switch to another or clear
|
|
506
|
-
if (userId === user?.
|
|
538
|
+
if (userId === user?.id) {
|
|
507
539
|
if (updatedUsers.length > 0) {
|
|
508
|
-
await switchUser(updatedUsers[0].
|
|
540
|
+
await switchUser(updatedUsers[0].id);
|
|
509
541
|
} else {
|
|
510
542
|
setUser(null);
|
|
511
543
|
oxyServices.clearTokens();
|
|
@@ -528,15 +560,15 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
528
560
|
// Get user sessions
|
|
529
561
|
const getUserSessions = async (userId?: string): Promise<any[]> => {
|
|
530
562
|
try {
|
|
531
|
-
const targetUserId = userId || user?.
|
|
563
|
+
const targetUserId = userId || user?.id;
|
|
532
564
|
if (!targetUserId) return [];
|
|
533
565
|
|
|
534
|
-
const targetUser = users.find(u => u.
|
|
566
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
535
567
|
if (!targetUser) return [];
|
|
536
568
|
|
|
537
569
|
// Store current tokens to restore later
|
|
538
570
|
const currentUser = user;
|
|
539
|
-
const wasCurrentUser = targetUserId === user?.
|
|
571
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
540
572
|
|
|
541
573
|
if (!wasCurrentUser) {
|
|
542
574
|
// Temporarily switch to target user's tokens
|
|
@@ -562,15 +594,15 @@ export const OxyContextProvider: React.FC<OxyContextProviderProps> = ({
|
|
|
562
594
|
// Logout specific session
|
|
563
595
|
const logoutSession = async (sessionId: string, userId?: string): Promise<void> => {
|
|
564
596
|
try {
|
|
565
|
-
const targetUserId = userId || user?.
|
|
597
|
+
const targetUserId = userId || user?.id;
|
|
566
598
|
if (!targetUserId) return;
|
|
567
599
|
|
|
568
|
-
const targetUser = users.find(u => u.
|
|
600
|
+
const targetUser = users.find(u => u.id === targetUserId);
|
|
569
601
|
if (!targetUser) return;
|
|
570
602
|
|
|
571
603
|
// Store current tokens to restore later
|
|
572
604
|
const currentUser = user;
|
|
573
|
-
const wasCurrentUser = targetUserId === user?.
|
|
605
|
+
const wasCurrentUser = targetUserId === user?.id;
|
|
574
606
|
|
|
575
607
|
if (!wasCurrentUser) {
|
|
576
608
|
// Temporarily switch to target user's tokens
|