@oxyhq/services 5.23.0 → 5.24.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.
@@ -42,55 +42,14 @@ function WebOxyProvider({
42
42
  let mounted = true;
43
43
  const initAuth = async () => {
44
44
  try {
45
- // Try to get sessions from storage (localStorage)
46
- const sessions = await oxyServices.getAllSessions();
47
- if (sessions && sessions.length > 0) {
48
- const activeSession = sessions.find(s => s.isCurrent) || sessions[0];
49
-
50
- // Try to get user info from the active session's userId
51
- if (activeSession && activeSession.userId) {
52
- try {
53
- const userProfile = await oxyServices.getProfile(activeSession.userId);
54
- if (mounted && userProfile) {
55
- setUser(userProfile);
56
- setIsLoading(false);
57
- return;
58
- }
59
- } catch (err) {
60
- console.log('[WebOxy] Could not fetch user profile:', err);
61
- }
62
- }
63
- }
64
-
65
- // No active session - check for cross-domain SSO via FedCM
66
- if (typeof window !== 'undefined' && 'IdentityCredential' in window) {
67
- try {
68
- const credential = await navigator.credentials.get({
69
- // @ts-expect-error - FedCM identity property is not in standard types
70
- identity: {
71
- providers: [{
72
- configURL: `${authWebUrl || 'https://auth.oxy.so'}/fedcm.json`,
73
- clientId: window.location.origin
74
- }]
75
- }
76
- });
77
- if (credential && 'token' in credential) {
78
- // Use the token to authenticate
79
- const session = await oxyServices.authenticateWithToken(credential.token);
80
- if (mounted && session.user) {
81
- setUser(session.user);
82
- }
83
- }
84
- } catch (fedcmError) {
85
- // FedCM not available or user cancelled - this is fine
86
- console.log('[WebOxy] FedCM SSO not available:', fedcmError);
87
- }
45
+ // Try to get current user (will use existing auth token if available)
46
+ const currentUser = await oxyServices.getCurrentUser();
47
+ if (mounted && currentUser) {
48
+ setUser(currentUser);
88
49
  }
89
50
  } catch (err) {
90
- console.error('[WebOxy] Init error:', err);
91
- if (mounted) {
92
- setError(err instanceof Error ? err.message : 'Failed to initialize auth');
93
- }
51
+ // No active session - this is fine
52
+ console.log('[WebOxy] No active session');
94
53
  } finally {
95
54
  if (mounted) {
96
55
  setIsLoading(false);
@@ -101,7 +60,7 @@ function WebOxyProvider({
101
60
  return () => {
102
61
  mounted = false;
103
62
  };
104
- }, [oxyServices, authWebUrl]);
63
+ }, [oxyServices]);
105
64
 
106
65
  // Notify parent of auth state changes
107
66
  (0, _react.useEffect)(() => {
@@ -124,21 +83,14 @@ function WebOxyProvider({
124
83
  }
125
84
  if (event.data.type === 'oxy-auth-success') {
126
85
  const {
127
- sessionId,
128
86
  accessToken,
129
87
  user: authUser
130
88
  } = event.data;
131
89
 
132
- // Store session (note: user property doesn't exist in ClientSession type)
133
- const session = {
134
- sessionId,
135
- deviceId: event.data.deviceId || '',
136
- expiresAt: event.data.expiresAt || '',
137
- lastActive: new Date().toISOString(),
138
- userId: authUser.id,
139
- isCurrent: true
140
- };
141
- await oxyServices.storeSession(session);
90
+ // Store the access token for API requests
91
+ if (typeof window !== 'undefined' && accessToken) {
92
+ localStorage.setItem('oxy-access-token', accessToken);
93
+ }
142
94
  setUser(authUser);
143
95
  setIsLoading(false);
144
96
  window.removeEventListener('message', handleMessage);
@@ -165,17 +117,20 @@ function WebOxyProvider({
165
117
  setError(err instanceof Error ? err.message : 'Sign in failed');
166
118
  setIsLoading(false);
167
119
  }
168
- }, [oxyServices, authWebUrl]);
120
+ }, [authWebUrl]);
169
121
  const signOut = (0, _react.useCallback)(async () => {
170
122
  setError(null);
171
123
  try {
172
- await oxyServices.logout();
124
+ // Clear stored token
125
+ if (typeof window !== 'undefined') {
126
+ localStorage.removeItem('oxy-access-token');
127
+ }
173
128
  setUser(null);
174
129
  } catch (err) {
175
130
  console.error('[WebOxy] Sign out error:', err);
176
131
  setError(err instanceof Error ? err.message : 'Sign out failed');
177
132
  }
178
- }, [oxyServices]);
133
+ }, []);
179
134
  const contextValue = {
180
135
  user,
181
136
  isAuthenticated,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_index","_reactQuery","_queryClient","_jsxRuntime","WebOxyContext","createContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","oxyServices","useState","OxyServices","user","setUser","isLoading","setIsLoading","error","setError","queryClient","createQueryClient","isAuthenticated","useEffect","mounted","initAuth","sessions","getAllSessions","length","activeSession","find","s","isCurrent","userId","userProfile","getProfile","err","console","log","window","credential","navigator","credentials","get","identity","providers","configURL","clientId","location","origin","session","authenticateWithToken","token","fedcmError","Error","message","signIn","useCallback","popup","open","encodeURIComponent","handleMessage","event","data","type","sessionId","accessToken","authUser","deviceId","expiresAt","lastActive","Date","toISOString","id","storeSession","removeEventListener","close","addEventListener","checkClosed","setInterval","closed","clearInterval","signOut","logout","contextValue","jsx","QueryClientProvider","client","Provider","value","useWebOxy","context","useContext","useAuth","isReady"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_index","_reactQuery","_queryClient","_jsxRuntime","WebOxyContext","createContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","oxyServices","useState","OxyServices","user","setUser","isLoading","setIsLoading","error","setError","queryClient","createQueryClient","isAuthenticated","useEffect","mounted","initAuth","currentUser","getCurrentUser","err","console","log","signIn","useCallback","popup","window","open","encodeURIComponent","location","origin","Error","handleMessage","event","data","type","accessToken","authUser","localStorage","setItem","removeEventListener","close","addEventListener","checkClosed","setInterval","closed","clearInterval","message","signOut","removeItem","contextValue","jsx","QueryClientProvider","client","Provider","value","useWebOxy","context","useContext","useAuth","isReady"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -36,55 +36,14 @@ export function WebOxyProvider({
36
36
  let mounted = true;
37
37
  const initAuth = async () => {
38
38
  try {
39
- // Try to get sessions from storage (localStorage)
40
- const sessions = await oxyServices.getAllSessions();
41
- if (sessions && sessions.length > 0) {
42
- const activeSession = sessions.find(s => s.isCurrent) || sessions[0];
43
-
44
- // Try to get user info from the active session's userId
45
- if (activeSession && activeSession.userId) {
46
- try {
47
- const userProfile = await oxyServices.getProfile(activeSession.userId);
48
- if (mounted && userProfile) {
49
- setUser(userProfile);
50
- setIsLoading(false);
51
- return;
52
- }
53
- } catch (err) {
54
- console.log('[WebOxy] Could not fetch user profile:', err);
55
- }
56
- }
57
- }
58
-
59
- // No active session - check for cross-domain SSO via FedCM
60
- if (typeof window !== 'undefined' && 'IdentityCredential' in window) {
61
- try {
62
- const credential = await navigator.credentials.get({
63
- // @ts-expect-error - FedCM identity property is not in standard types
64
- identity: {
65
- providers: [{
66
- configURL: `${authWebUrl || 'https://auth.oxy.so'}/fedcm.json`,
67
- clientId: window.location.origin
68
- }]
69
- }
70
- });
71
- if (credential && 'token' in credential) {
72
- // Use the token to authenticate
73
- const session = await oxyServices.authenticateWithToken(credential.token);
74
- if (mounted && session.user) {
75
- setUser(session.user);
76
- }
77
- }
78
- } catch (fedcmError) {
79
- // FedCM not available or user cancelled - this is fine
80
- console.log('[WebOxy] FedCM SSO not available:', fedcmError);
81
- }
39
+ // Try to get current user (will use existing auth token if available)
40
+ const currentUser = await oxyServices.getCurrentUser();
41
+ if (mounted && currentUser) {
42
+ setUser(currentUser);
82
43
  }
83
44
  } catch (err) {
84
- console.error('[WebOxy] Init error:', err);
85
- if (mounted) {
86
- setError(err instanceof Error ? err.message : 'Failed to initialize auth');
87
- }
45
+ // No active session - this is fine
46
+ console.log('[WebOxy] No active session');
88
47
  } finally {
89
48
  if (mounted) {
90
49
  setIsLoading(false);
@@ -95,7 +54,7 @@ export function WebOxyProvider({
95
54
  return () => {
96
55
  mounted = false;
97
56
  };
98
- }, [oxyServices, authWebUrl]);
57
+ }, [oxyServices]);
99
58
 
100
59
  // Notify parent of auth state changes
101
60
  useEffect(() => {
@@ -118,21 +77,14 @@ export function WebOxyProvider({
118
77
  }
119
78
  if (event.data.type === 'oxy-auth-success') {
120
79
  const {
121
- sessionId,
122
80
  accessToken,
123
81
  user: authUser
124
82
  } = event.data;
125
83
 
126
- // Store session (note: user property doesn't exist in ClientSession type)
127
- const session = {
128
- sessionId,
129
- deviceId: event.data.deviceId || '',
130
- expiresAt: event.data.expiresAt || '',
131
- lastActive: new Date().toISOString(),
132
- userId: authUser.id,
133
- isCurrent: true
134
- };
135
- await oxyServices.storeSession(session);
84
+ // Store the access token for API requests
85
+ if (typeof window !== 'undefined' && accessToken) {
86
+ localStorage.setItem('oxy-access-token', accessToken);
87
+ }
136
88
  setUser(authUser);
137
89
  setIsLoading(false);
138
90
  window.removeEventListener('message', handleMessage);
@@ -159,17 +111,20 @@ export function WebOxyProvider({
159
111
  setError(err instanceof Error ? err.message : 'Sign in failed');
160
112
  setIsLoading(false);
161
113
  }
162
- }, [oxyServices, authWebUrl]);
114
+ }, [authWebUrl]);
163
115
  const signOut = useCallback(async () => {
164
116
  setError(null);
165
117
  try {
166
- await oxyServices.logout();
118
+ // Clear stored token
119
+ if (typeof window !== 'undefined') {
120
+ localStorage.removeItem('oxy-access-token');
121
+ }
167
122
  setUser(null);
168
123
  } catch (err) {
169
124
  console.error('[WebOxy] Sign out error:', err);
170
125
  setError(err instanceof Error ? err.message : 'Sign out failed');
171
126
  }
172
- }, [oxyServices]);
127
+ }, []);
173
128
  const contextValue = {
174
129
  user,
175
130
  isAuthenticated,
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useState","OxyServices","QueryClientProvider","createQueryClient","jsx","_jsx","WebOxyContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","oxyServices","user","setUser","isLoading","setIsLoading","error","setError","queryClient","isAuthenticated","mounted","initAuth","sessions","getAllSessions","length","activeSession","find","s","isCurrent","userId","userProfile","getProfile","err","console","log","window","credential","navigator","credentials","get","identity","providers","configURL","clientId","location","origin","session","authenticateWithToken","token","fedcmError","Error","message","signIn","popup","open","encodeURIComponent","handleMessage","event","data","type","sessionId","accessToken","authUser","deviceId","expiresAt","lastActive","Date","toISOString","id","storeSession","removeEventListener","close","addEventListener","checkClosed","setInterval","closed","clearInterval","signOut","logout","contextValue","client","Provider","value","useWebOxy","context","useAuth","isReady"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useState","OxyServices","QueryClientProvider","createQueryClient","jsx","_jsx","WebOxyContext","WebOxyProvider","children","baseURL","authWebUrl","onAuthStateChange","oxyServices","user","setUser","isLoading","setIsLoading","error","setError","queryClient","isAuthenticated","mounted","initAuth","currentUser","getCurrentUser","err","console","log","signIn","popup","window","open","encodeURIComponent","location","origin","Error","handleMessage","event","data","type","accessToken","authUser","localStorage","setItem","removeEventListener","close","addEventListener","checkClosed","setInterval","closed","clearInterval","message","signOut","removeItem","contextValue","client","Provider","value","useWebOxy","context","useAuth","isReady"],"sourceRoot":"../../../src","sources":["web/WebOxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"WebOxyContext.d.ts","sourceRoot":"","sources":["../../../../src/web/WebOxyContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY,EAAE,cAAc;IACtE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,UAAU,EACV,iBAAiB,GAClB,EAAE,mBAAmB,2CAoLrB;AAED,wBAAgB,SAAS,uBAMxB;AAED,wBAAgB,OAAO;;;;;;kBAxNP,OAAO,CAAC,IAAI,CAAC;mBACZ,OAAO,CAAC,IAAI,CAAC;;EAoO7B"}
1
+ {"version":3,"file":"WebOxyContext.d.ts","sourceRoot":"","sources":["../../../../src/web/WebOxyContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY,EAAE,cAAc;IACtE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,UAAU,EACV,iBAAiB,GAClB,EAAE,mBAAmB,2CAwIrB;AAED,wBAAgB,SAAS,uBAMxB;AAED,wBAAgB,OAAO;;;;;;kBA5KP,OAAO,CAAC,IAAI,CAAC;mBACZ,OAAO,CAAC,IAAI,CAAC;;EAwL7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebOxyContext.d.ts","sourceRoot":"","sources":["../../../../src/web/WebOxyContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY,EAAE,cAAc;IACtE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,UAAU,EACV,iBAAiB,GAClB,EAAE,mBAAmB,2CAoLrB;AAED,wBAAgB,SAAS,uBAMxB;AAED,wBAAgB,OAAO;;;;;;kBAxNP,OAAO,CAAC,IAAI,CAAC;mBACZ,OAAO,CAAC,IAAI,CAAC;;EAoO7B"}
1
+ {"version":3,"file":"WebOxyContext.d.ts","sourceRoot":"","sources":["../../../../src/web/WebOxyContext.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,YAAY,EAAE,cAAc;IACtE,WAAW,EAAE,WAAW,CAAC;CAC1B;AAID,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,UAAU,EACV,iBAAiB,GAClB,EAAE,mBAAmB,2CAwIrB;AAED,wBAAgB,SAAS,uBAMxB;AAED,wBAAgB,OAAO;;;;;;kBA5KP,OAAO,CAAC,IAAI,CAAC;mBACZ,OAAO,CAAC,IAAI,CAAC;;EAwL7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "5.23.0",
3
+ "version": "5.24.0",
4
4
  "description": "Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -13,7 +13,6 @@ import {
13
13
  } from 'react';
14
14
  import { OxyServices } from '../core';
15
15
  import type { User } from '../models/interfaces';
16
- import type { ClientSession } from '../models/session';
17
16
  import { QueryClientProvider } from '@tanstack/react-query';
18
17
  import { createQueryClient } from '../ui/hooks/queryClient';
19
18
 
@@ -66,57 +65,15 @@ export function WebOxyProvider({
66
65
 
67
66
  const initAuth = async () => {
68
67
  try {
69
- // Try to get sessions from storage (localStorage)
70
- const sessions = await oxyServices.getAllSessions();
71
-
72
- if (sessions && sessions.length > 0) {
73
- const activeSession = sessions.find((s: ClientSession) => s.isCurrent) || sessions[0];
74
-
75
- // Try to get user info from the active session's userId
76
- if (activeSession && activeSession.userId) {
77
- try {
78
- const userProfile = await oxyServices.getProfile(activeSession.userId);
79
- if (mounted && userProfile) {
80
- setUser(userProfile as User);
81
- setIsLoading(false);
82
- return;
83
- }
84
- } catch (err) {
85
- console.log('[WebOxy] Could not fetch user profile:', err);
86
- }
87
- }
88
- }
68
+ // Try to get current user (will use existing auth token if available)
69
+ const currentUser = await oxyServices.getCurrentUser();
89
70
 
90
- // No active session - check for cross-domain SSO via FedCM
91
- if (typeof window !== 'undefined' && 'IdentityCredential' in window) {
92
- try {
93
- const credential = await navigator.credentials.get({
94
- // @ts-expect-error - FedCM identity property is not in standard types
95
- identity: {
96
- providers: [{
97
- configURL: `${authWebUrl || 'https://auth.oxy.so'}/fedcm.json`,
98
- clientId: window.location.origin,
99
- }]
100
- }
101
- });
102
-
103
- if (credential && 'token' in credential) {
104
- // Use the token to authenticate
105
- const session = await oxyServices.authenticateWithToken(credential.token);
106
- if (mounted && session.user) {
107
- setUser(session.user);
108
- }
109
- }
110
- } catch (fedcmError) {
111
- // FedCM not available or user cancelled - this is fine
112
- console.log('[WebOxy] FedCM SSO not available:', fedcmError);
113
- }
71
+ if (mounted && currentUser) {
72
+ setUser(currentUser);
114
73
  }
115
74
  } catch (err) {
116
- console.error('[WebOxy] Init error:', err);
117
- if (mounted) {
118
- setError(err instanceof Error ? err.message : 'Failed to initialize auth');
119
- }
75
+ // No active session - this is fine
76
+ console.log('[WebOxy] No active session');
120
77
  } finally {
121
78
  if (mounted) {
122
79
  setIsLoading(false);
@@ -129,7 +86,7 @@ export function WebOxyProvider({
129
86
  return () => {
130
87
  mounted = false;
131
88
  };
132
- }, [oxyServices, authWebUrl]);
89
+ }, [oxyServices]);
133
90
 
134
91
  // Notify parent of auth state changes
135
92
  useEffect(() => {
@@ -159,18 +116,12 @@ export function WebOxyProvider({
159
116
  }
160
117
 
161
118
  if (event.data.type === 'oxy-auth-success') {
162
- const { sessionId, accessToken, user: authUser } = event.data;
163
-
164
- // Store session (note: user property doesn't exist in ClientSession type)
165
- const session: ClientSession = {
166
- sessionId,
167
- deviceId: event.data.deviceId || '',
168
- expiresAt: event.data.expiresAt || '',
169
- lastActive: new Date().toISOString(),
170
- userId: authUser.id,
171
- isCurrent: true,
172
- };
173
- await oxyServices.storeSession(session);
119
+ const { accessToken, user: authUser } = event.data;
120
+
121
+ // Store the access token for API requests
122
+ if (typeof window !== 'undefined' && accessToken) {
123
+ localStorage.setItem('oxy-access-token', accessToken);
124
+ }
174
125
 
175
126
  setUser(authUser);
176
127
  setIsLoading(false);
@@ -200,19 +151,23 @@ export function WebOxyProvider({
200
151
  setError(err instanceof Error ? err.message : 'Sign in failed');
201
152
  setIsLoading(false);
202
153
  }
203
- }, [oxyServices, authWebUrl]);
154
+ }, [authWebUrl]);
204
155
 
205
156
  const signOut = useCallback(async () => {
206
157
  setError(null);
207
158
 
208
159
  try {
209
- await oxyServices.logout();
160
+ // Clear stored token
161
+ if (typeof window !== 'undefined') {
162
+ localStorage.removeItem('oxy-access-token');
163
+ }
164
+
210
165
  setUser(null);
211
166
  } catch (err) {
212
167
  console.error('[WebOxy] Sign out error:', err);
213
168
  setError(err instanceof Error ? err.message : 'Sign out failed');
214
169
  }
215
- }, [oxyServices]);
170
+ }, []);
216
171
 
217
172
  const contextValue: WebOxyContextValue = {
218
173
  user,