@oxyhq/services 17.0.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +77 -98
  2. package/lib/commonjs/index.js +19 -0
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/components/OxyAccountDialog.js +62 -84
  5. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -1
  6. package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
  7. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
  8. package/lib/commonjs/ui/components/OxyProvider.js +3 -1
  9. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxySignInButton.js +176 -7
  11. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  12. package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
  13. package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
  14. package/lib/commonjs/ui/context/OxyContext.js +31 -4
  15. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -0
  17. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  18. package/lib/module/index.js +2 -2
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/ui/components/OxyAccountDialog.js +63 -85
  21. package/lib/module/ui/components/OxyAccountDialog.js.map +1 -1
  22. package/lib/module/ui/components/OxyConsentScreen.js +454 -0
  23. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
  24. package/lib/module/ui/components/OxyProvider.js +3 -1
  25. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  26. package/lib/module/ui/components/OxySignInButton.js +177 -7
  27. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  28. package/lib/module/ui/components/oauthNavigation.js +70 -0
  29. package/lib/module/ui/components/oauthNavigation.js.map +1 -0
  30. package/lib/module/ui/context/OxyContext.js +31 -4
  31. package/lib/module/ui/context/OxyContext.js.map +1 -1
  32. package/lib/module/ui/context/hooks/useAuthOperations.js +11 -0
  33. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  34. package/lib/typescript/commonjs/index.d.ts +4 -1
  35. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +18 -2
  37. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
  39. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
  42. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
  44. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
  45. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +14 -0
  46. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  49. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/ui/types/navigation.d.ts +18 -0
  51. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  52. package/lib/typescript/module/index.d.ts +4 -1
  53. package/lib/typescript/module/index.d.ts.map +1 -1
  54. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +18 -2
  55. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -1
  56. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
  57. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
  58. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  59. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
  60. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  61. package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
  62. package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
  63. package/lib/typescript/module/ui/context/OxyContext.d.ts +14 -0
  64. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  65. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  66. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  67. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  68. package/lib/typescript/module/ui/types/navigation.d.ts +18 -0
  69. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  70. package/package.json +4 -4
  71. package/src/index.ts +12 -1
  72. package/src/ui/components/OxyAccountDialog.tsx +60 -85
  73. package/src/ui/components/OxyConsentScreen.tsx +456 -0
  74. package/src/ui/components/OxyProvider.tsx +2 -0
  75. package/src/ui/components/OxySignInButton.tsx +222 -6
  76. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
  77. package/src/ui/components/oauthNavigation.ts +89 -0
  78. package/src/ui/context/OxyContext.tsx +44 -4
  79. package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
  80. package/src/ui/context/hooks/useAuthOperations.ts +7 -0
  81. package/src/ui/types/navigation.ts +18 -0
@@ -1,14 +1,59 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useState, useEffect, useMemo } from 'react';
3
+ import { useCallback, useState, useEffect, useMemo, useRef } from 'react';
4
4
  import { TouchableOpacity, Text, View, StyleSheet, Platform } from 'react-native';
5
+ import { logger, generatePkcePair, generateOAuthState, buildOAuthAuthorizeUrl } from '@oxyhq/core';
5
6
  import { useAuthStore } from "../stores/authStore.js";
6
7
  import { useShallow } from 'zustand/react/shallow';
7
8
  import { useTheme } from '@oxyhq/bloom/theme';
8
9
  import { useOxy } from "../context/OxyContext.js";
9
10
  import OxyLogo from "./OxyLogo.js";
10
11
  import { subscribeToSignInModal } from "../navigation/accountDialogManager.js";
12
+ import { redirectToAuthorize, openAuthorizeUrlNative } from "./oauthNavigation.js";
13
+
14
+ /**
15
+ * `sessionStorage` keys under which a third-party "Sign in with Oxy" OAuth flow
16
+ * persists its CSRF `state` and PKCE `code_verifier` across the authorize
17
+ * redirect. The Relying Party's redirect-URI callback reads them back to
18
+ * validate the returned `state` and replay the verifier on the token exchange.
19
+ *
20
+ * Web only: a browser RP navigates away to `auth.oxy.so` and back, so the
21
+ * handshake must survive a full-page redirect. Native completes the flow inside
22
+ * a single `WebBrowser` auth session and surfaces the handshake via
23
+ * {@link OxySignInButtonProps.onOAuthResult} instead.
24
+ */
11
25
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ export const OXY_OAUTH_STATE_STORAGE_KEY = 'oxy_oauth_state';
27
+ export const OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = 'oxy_oauth_code_verifier';
28
+
29
+ /**
30
+ * The OAuth handshake surfaced to a NATIVE third-party RP via
31
+ * {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
32
+ * (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
33
+ * back from `sessionStorage` across the redirect and do not need this callback.
34
+ */
35
+
36
+ /**
37
+ * Persist the OAuth CSRF `state` + PKCE `code_verifier` for the RP callback.
38
+ * Returns `false` when the handshake could not be stored — no `sessionStorage`
39
+ * (SSR / non-browser host) or a write that threw (`SecurityError` /
40
+ * `QuotaExceededError`, e.g. Safari private mode) — so the caller aborts the
41
+ * flow cleanly rather than redirect to a callback that cannot validate `state`.
42
+ */
43
+ function persistOAuthHandshake(state, codeVerifier) {
44
+ const store = globalThis.sessionStorage;
45
+ try {
46
+ if (!store) throw new Error('sessionStorage is unavailable');
47
+ store.setItem(OXY_OAUTH_STATE_STORAGE_KEY, state);
48
+ store.setItem(OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, codeVerifier);
49
+ return true;
50
+ } catch (error) {
51
+ logger.warn('OxySignInButton: could not persist the OAuth handshake to sessionStorage; aborting third-party sign-in', {
52
+ component: 'OxySignInButton'
53
+ }, error);
54
+ return false;
55
+ }
56
+ }
12
57
  /**
13
58
  * A pre-styled button component for signing in with Oxy identity
14
59
  *
@@ -40,11 +85,15 @@ export const OxySignInButton = ({
40
85
  textStyle,
41
86
  text = 'Sign in with Oxy',
42
87
  disabled = false,
43
- showWhenAuthenticated = false
88
+ showWhenAuthenticated = false,
89
+ oauthRedirectUri,
90
+ onOAuthResult
44
91
  }) => {
45
92
  const theme = useTheme();
46
93
  const {
47
- openAccountDialog
94
+ openAccountDialog,
95
+ oxyServices,
96
+ clientId
48
97
  } = useOxy();
49
98
  const {
50
99
  isAuthenticated,
@@ -59,15 +108,136 @@ export const OxySignInButton = ({
59
108
  const [isModalOpen, setIsModalOpen] = useState(false);
60
109
  useEffect(() => subscribeToSignInModal(setIsModalOpen), []);
61
110
 
62
- // Open the unified account dialog on its sign-in view (same surface on web +
63
- // native), or defer to a caller-supplied handler.
111
+ // The application's public identity is resolved lazily on first press and its
112
+ // promise cached, so rapid taps share one in-flight resolve. The cache is
113
+ // KEYED on the identity inputs (clientId + the oxyServices instance): if
114
+ // either changes the cache is invalidated and re-resolved — without a
115
+ // useEffect. A rejected resolve clears the cache so a later press can retry.
116
+ const appResolutionRef = useRef(null);
117
+ // Re-entrancy guard: a routing pass may await network + crypto before it
118
+ // redirects, so block a second concurrent press from racing the sessionStorage
119
+ // handshake against a different PKCE pair.
120
+ const routingRef = useRef(false);
121
+ const resolvePublicApplication = useCallback(() => {
122
+ if (!clientId) return null;
123
+ const cached = appResolutionRef.current;
124
+ if (cached && cached.clientId === clientId && cached.oxyServices === oxyServices) {
125
+ return cached.promise;
126
+ }
127
+ const promise = oxyServices.getPublicApplication(clientId).catch(error => {
128
+ // Only clear if this is still the live entry (a later resolve may have
129
+ // replaced it after a clientId/oxyServices change).
130
+ if (appResolutionRef.current?.promise === promise) {
131
+ appResolutionRef.current = null;
132
+ }
133
+ throw error;
134
+ });
135
+ appResolutionRef.current = {
136
+ clientId,
137
+ oxyServices,
138
+ promise
139
+ };
140
+ return promise;
141
+ }, [clientId, oxyServices]);
142
+
143
+ // Official / first-party surface: the in-app account + sign-in dialog.
144
+ const startOfficialSignIn = useCallback(() => {
145
+ openAccountDialog('signin');
146
+ }, [openAccountDialog]);
147
+
148
+ // Third-party surface: an OAuth 2.0 authorization-code + PKCE redirect to
149
+ // auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
150
+ const startThirdPartyOAuth = useCallback(async app => {
151
+ if (!clientId) {
152
+ startOfficialSignIn();
153
+ return;
154
+ }
155
+ if (!oauthRedirectUri) {
156
+ logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth redirect; sign-in aborted', undefined, {
157
+ component: 'OxySignInButton',
158
+ clientId,
159
+ application: app.name
160
+ });
161
+ return;
162
+ }
163
+ const [pkce, state] = await Promise.all([generatePkcePair(), generateOAuthState()]);
164
+ const authorizeUrl = buildOAuthAuthorizeUrl({
165
+ clientId,
166
+ redirectUri: oauthRedirectUri,
167
+ state,
168
+ codeChallenge: pkce.codeChallenge
169
+ });
170
+ if (Platform.OS === 'web') {
171
+ // Persist the handshake for the RP callback, then hand the
172
+ // top-level document to the IdP. Without storage the callback
173
+ // cannot validate `state`, so abort cleanly rather than redirect.
174
+ if (!persistOAuthHandshake(state, pkce.codeVerifier)) {
175
+ return;
176
+ }
177
+ redirectToAuthorize(authorizeUrl);
178
+ return;
179
+ }
180
+
181
+ // Native: open the in-app auth session, then hand the handshake to the
182
+ // RP so it can complete the token exchange from its deep-link callback.
183
+ const {
184
+ redirectUrl
185
+ } = await openAuthorizeUrlNative(authorizeUrl, oauthRedirectUri);
186
+ if (onOAuthResult) {
187
+ onOAuthResult({
188
+ redirectUrl,
189
+ state,
190
+ codeVerifier: pkce.codeVerifier
191
+ });
192
+ return;
193
+ }
194
+ logger.warn('OxySignInButton: native third-party sign-in cannot complete without an `onOAuthResult` handler; the code exchange is the RP\'s responsibility (state + code_verifier were not surfaced)', {
195
+ component: 'OxySignInButton',
196
+ application: app.name
197
+ });
198
+ }, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn]);
199
+
200
+ // Resolve the Application once, then route: third-party → OAuth redirect;
201
+ // first-party / official / unresolved → the in-app dialog. Resolution failure
202
+ // NEVER breaks an official app's sign-in — it falls back to the dialog.
203
+ const routeSignIn = useCallback(async () => {
204
+ if (routingRef.current) return;
205
+ routingRef.current = true;
206
+ try {
207
+ const resolving = resolvePublicApplication();
208
+ if (!resolving) {
209
+ startOfficialSignIn();
210
+ return;
211
+ }
212
+ let app;
213
+ try {
214
+ app = await resolving;
215
+ } catch (error) {
216
+ logger.warn('OxySignInButton: could not resolve the application; opening the sign-in dialog', {
217
+ component: 'OxySignInButton',
218
+ clientId
219
+ }, error);
220
+ startOfficialSignIn();
221
+ return;
222
+ }
223
+ if (app.type === 'third_party' && !app.isOfficial) {
224
+ await startThirdPartyOAuth(app);
225
+ return;
226
+ }
227
+ startOfficialSignIn();
228
+ } finally {
229
+ routingRef.current = false;
230
+ }
231
+ }, [resolvePublicApplication, startOfficialSignIn, startThirdPartyOAuth, clientId]);
232
+
233
+ // Defer to a caller-supplied handler, otherwise route by application type.
64
234
  const handlePress = useCallback(() => {
65
235
  if (onPress) {
66
236
  onPress();
67
237
  return;
68
238
  }
69
- openAccountDialog('signin');
70
- }, [onPress, openAccountDialog]);
239
+ void routeSignIn();
240
+ }, [onPress, routeSignIn]);
71
241
  const themedStyles = useMemo(() => StyleSheet.create({
72
242
  button: {
73
243
  padding: 14,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useState","useEffect","useMemo","TouchableOpacity","Text","View","StyleSheet","Platform","useAuthStore","useShallow","useTheme","useOxy","OxyLogo","subscribeToSignInModal","jsx","_jsx","jsxs","_jsxs","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","theme","openAccountDialog","isAuthenticated","isLoading","state","isModalOpen","setIsModalOpen","handlePress","themedStyles","create","button","padding","borderRadius","alignItems","justifyContent","buttonDefault","backgroundColor","colors","card","borderWidth","borderColor","borderLight","select","web","boxShadow","default","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","buttonOutline","primary","buttonContained","buttonDisabled","opacity","buttonContent","flexDirection","fontWeight","OS","undefined","fontSize","marginLeft","textDefault","color","textOutline","textContained","textDisabled","textTertiary","isButtonDisabled","getButtonStyle","getTextStyle","children","size","fillColor","innerFillColor"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useState","useEffect","useMemo","useRef","TouchableOpacity","Text","View","StyleSheet","Platform","logger","generatePkcePair","generateOAuthState","buildOAuthAuthorizeUrl","useAuthStore","useShallow","useTheme","useOxy","OxyLogo","subscribeToSignInModal","redirectToAuthorize","openAuthorizeUrlNative","jsx","_jsx","jsxs","_jsxs","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","persistOAuthHandshake","state","codeVerifier","store","globalThis","sessionStorage","Error","setItem","error","warn","component","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","openAccountDialog","oxyServices","clientId","isAuthenticated","isLoading","isModalOpen","setIsModalOpen","appResolutionRef","routingRef","resolvePublicApplication","cached","current","promise","getPublicApplication","catch","startOfficialSignIn","startThirdPartyOAuth","app","undefined","application","name","pkce","Promise","all","authorizeUrl","redirectUri","codeChallenge","OS","redirectUrl","routeSignIn","resolving","type","isOfficial","handlePress","themedStyles","create","button","padding","borderRadius","alignItems","justifyContent","buttonDefault","backgroundColor","colors","card","borderWidth","borderColor","borderLight","select","web","boxShadow","default","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","buttonOutline","primary","buttonContained","buttonDisabled","opacity","buttonContent","flexDirection","fontWeight","fontSize","marginLeft","textDefault","color","textOutline","textContained","textDisabled","textTertiary","isButtonDisabled","getButtonStyle","getTextStyle","children","size","fillColor","innerFillColor"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Platform navigation for the third-party "Sign in with Oxy" OAuth flow.
5
+ *
6
+ * Kept out of `OxySignInButton` so the button's routing logic can be unit-tested
7
+ * without driving a real browser navigation (jsdom's `location.assign` is
8
+ * non-configurable and cannot be spied). Both entry points hand a fully-built
9
+ * `auth.oxy.so/authorize` URL to the platform — never FedCM, an SSO bounce, or
10
+ * an Oxy session cookie.
11
+ */
12
+
13
+ import { Linking } from 'react-native';
14
+ import { logger } from '@oxyhq/core';
15
+
16
+ /** Minimal shape of the optional `expo-web-browser` auth-session result. */
17
+
18
+ /** Minimal shape of the optional `expo-web-browser` native module we depend on. */
19
+
20
+ /** Outcome of opening the authorize URL on native. */
21
+
22
+ /**
23
+ * Web: hand the TOP-LEVEL document to the OAuth authorize URL (a full-page
24
+ * redirect, not a popup) so the RP returns to its registered `redirect_uri`.
25
+ * No-op where `location` is unavailable (SSR / non-browser hosts).
26
+ */
27
+ export function redirectToAuthorize(url) {
28
+ globalThis.location?.assign(url);
29
+ }
30
+
31
+ /**
32
+ * Native: open the authorize URL in an in-app auth session via the optional
33
+ * `expo-web-browser` module (`openAuthSessionAsync` returns to `redirectUri`),
34
+ * degrading to `Linking.openURL` when the module is not installed — the same
35
+ * dynamic-import-with-fallback pattern services uses for haptics/netinfo.
36
+ *
37
+ * Returns the deep-link URL the session came back to when it can be observed, so
38
+ * the caller can hand `?code=…&state=…` back to the RP for the token exchange.
39
+ */
40
+ export async function openAuthorizeUrlNative(url, redirectUri) {
41
+ try {
42
+ const mod = await import('expo-web-browser');
43
+ if (mod && typeof mod.openAuthSessionAsync === 'function') {
44
+ const result = await mod.openAuthSessionAsync(url, redirectUri);
45
+ const redirectUrl = result && result.type === 'success' && typeof result.url === 'string' ? result.url : null;
46
+ return {
47
+ redirectUrl
48
+ };
49
+ }
50
+ } catch (error) {
51
+ logger.warn('OxySignInButton: expo-web-browser auth session failed; falling back to Linking.openURL', {
52
+ component: 'oauthNavigation'
53
+ }, error);
54
+ }
55
+
56
+ // Fallback: Linking cannot observe the return URL, so the RP completes the
57
+ // exchange from its own deep-link handler. A rejected openURL (e.g. an
58
+ // unregistered scheme) must not throw out of the sign-in flow.
59
+ try {
60
+ await Linking.openURL(url);
61
+ } catch (error) {
62
+ logger.warn('OxySignInButton: Linking.openURL rejected the authorize URL', {
63
+ component: 'oauthNavigation'
64
+ }, error);
65
+ }
66
+ return {
67
+ redirectUrl: null
68
+ };
69
+ }
70
+ //# sourceMappingURL=oauthNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Linking","logger","redirectToAuthorize","url","globalThis","location","assign","openAuthorizeUrlNative","redirectUri","mod","openAuthSessionAsync","result","redirectUrl","type","error","warn","component","openURL"],"sourceRoot":"../../../../src","sources":["ui/components/oauthNavigation.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASC,MAAM,QAAQ,aAAa;;AAEpC;;AAMA;;AAKA;;AAWA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,GAAW,EAAQ;EAClDC,UAAU,CAA6BC,QAAQ,EAAEC,MAAM,CAACH,GAAG,CAAC;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,sBAAsBA,CACxCJ,GAAW,EACXK,WAAmB,EACS;EAC5B,IAAI;IACA,MAAMC,GAAG,GAAI,MAAM,MAAM,CAAC,kBAAkB,CAAiC;IAC7E,IAAIA,GAAG,IAAI,OAAOA,GAAG,CAACC,oBAAoB,KAAK,UAAU,EAAE;MACvD,MAAMC,MAAM,GAAG,MAAMF,GAAG,CAACC,oBAAoB,CAACP,GAAG,EAAEK,WAAW,CAAC;MAC/D,MAAMI,WAAW,GACbD,MAAM,IAAIA,MAAM,CAACE,IAAI,KAAK,SAAS,IAAI,OAAOF,MAAM,CAACR,GAAG,KAAK,QAAQ,GAC/DQ,MAAM,CAACR,GAAG,GACV,IAAI;MACd,OAAO;QAAES;MAAY,CAAC;IAC1B;EACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZb,MAAM,CAACc,IAAI,CACP,wFAAwF,EACxF;MAAEC,SAAS,EAAE;IAAkB,CAAC,EAChCF,KACJ,CAAC;EACL;;EAEA;EACA;EACA;EACA,IAAI;IACA,MAAMd,OAAO,CAACiB,OAAO,CAACd,GAAG,CAAC;EAC9B,CAAC,CAAC,OAAOW,KAAK,EAAE;IACZb,MAAM,CAACc,IAAI,CACP,6DAA6D,EAC7D;MAAEC,SAAS,EAAE;IAAkB,CAAC,EAChCF,KACJ,CAAC;EACL;EACA,OAAO;IAAEF,WAAW,EAAE;EAAK,CAAC;AAChC","ignoreList":[]}
@@ -115,6 +115,7 @@ export const OxyProvider = ({
115
115
  authRedirectUri,
116
116
  storageKeyPrefix = 'oxy_session',
117
117
  clientId: clientIdProp,
118
+ coldBoot = true,
118
119
  onAuthStateChange,
119
120
  onError
120
121
  }) => {
@@ -531,6 +532,15 @@ export const OxyProvider = ({
531
532
  ...(deviceToken ? {
532
533
  deviceToken
533
534
  } : {}),
535
+ // Phase 2c: persist the deviceId + rotating deviceSecret so the next
536
+ // cold boot can restore via the zero-cookie mint. Both are additive —
537
+ // absent on cookie-lane sign-ins, which fall back to the refresh family.
538
+ ...(input.deviceId ? {
539
+ deviceId: input.deviceId
540
+ } : {}),
541
+ ...(input.deviceSecret ? {
542
+ deviceSecret: input.deviceSecret
543
+ } : {}),
534
544
  ...(input.accessToken ? {
535
545
  accessToken: input.accessToken
536
546
  } : {}),
@@ -613,9 +623,10 @@ export const OxyProvider = ({
613
623
  await commitSession({
614
624
  sessionId: session.sessionId,
615
625
  accessToken: session.accessToken,
616
- // deviceFlow threads a rotating refresh token on the runtime object
617
- // even though `SessionLoginResponse` does not type it.
626
+ // deviceFlow threads a rotating refresh token + deviceSecret on the
627
+ // runtime object even though `SessionLoginResponse` does not type them.
618
628
  refreshToken: session.refreshToken,
629
+ deviceSecret: session.deviceSecret,
619
630
  deviceId: session.deviceId,
620
631
  expiresAt: session.expiresAt,
621
632
  userId: session.user.id,
@@ -696,6 +707,7 @@ export const OxyProvider = ({
696
707
  sessionId: result.sessionId,
697
708
  accessToken: result.accessToken,
698
709
  refreshToken: result.refreshToken,
710
+ deviceSecret: result.deviceSecret,
699
711
  deviceId: result.deviceId,
700
712
  expiresAt: result.expiresAt,
701
713
  userId: result.user.id,
@@ -720,6 +732,7 @@ export const OxyProvider = ({
720
732
  sessionId: result.sessionId,
721
733
  accessToken: result.accessToken,
722
734
  refreshToken: result.refreshToken,
735
+ deviceSecret: result.deviceSecret,
723
736
  deviceId: result.deviceId,
724
737
  expiresAt: result.expiresAt,
725
738
  userId: result.user.id,
@@ -808,7 +821,20 @@ export const OxyProvider = ({
808
821
  // self-acquire when a sibling signs in on this device while this tab is idle.
809
822
  runColdBootRef.current = runColdBoot;
810
823
  useEffect(() => {
811
- if (!storage || initialized) {
824
+ if (initialized) {
825
+ return;
826
+ }
827
+ // IdP mode (`coldBoot={false}`): this provider is NOT the ecosystem session
828
+ // authority, so it never runs the device-first restore and never opens the
829
+ // signed-out device-state socket (`runColdBoot` → `onSignedOut` is the sole
830
+ // place that socket starts). Resolve auth immediately as signed out so there
831
+ // is no boot spinner; a deliberate sign-in still commits a normal session.
832
+ if (!coldBoot) {
833
+ setInitialized(true);
834
+ markAuthResolved();
835
+ return;
836
+ }
837
+ if (!storage) {
812
838
  return;
813
839
  }
814
840
  setInitialized(true);
@@ -817,7 +843,7 @@ export const OxyProvider = ({
817
843
  logger('Cold boot failed', error);
818
844
  }
819
845
  });
820
- }, [runColdBoot, storage, initialized, logger]);
846
+ }, [coldBoot, runColdBoot, storage, initialized, logger, markAuthResolved]);
821
847
 
822
848
  // Exposed `refreshSessions`: re-bootstrap the server-authoritative device
823
849
  // state and reproject — the manual counterpart to the realtime socket.
@@ -914,6 +940,7 @@ export const OxyProvider = ({
914
940
  sessionId: result.sessionId,
915
941
  accessToken: result.accessToken,
916
942
  refreshToken: result.refreshToken,
943
+ deviceSecret: result.deviceSecret,
917
944
  deviceId: result.deviceId,
918
945
  expiresAt: result.expiresAt,
919
946
  userId: result.user.id,
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","runColdBootRef","sessionClientPairRef","clearError","signedOutSocketAuth","loadDeviceToken","onSessionAppeared","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","next","sessionId","expiresAt","save","persistError","now","Date","deviceId","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","startError","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","refresh","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","Linking","OxyServices","oxyClient","KeyManager","runSessionColdBoot","installAuthRefreshHandler","startTokenRefreshScheduler","createAccountDialogController","logger","loggerUtil","registerAccountDialogControls","notifyAccountDialogVisibility","useAuthStore","useShallow","useLanguageManagement","useSessionManagement","useAuthOperations","clearPersistedAuthSafe","useDeviceManagement","getStorageKeys","createPlatformStorage","showBottomSheet","globalShowBottomSheet","useQueryClient","clearQueryCache","useAvatarPicker","useAccountStore","isWebBrowser","createSessionClient","createPlatformAuthStateStore","deviceStateToClientSessions","activeSessionIdOf","activeUserOf","accountIdsOf","jsx","_jsx","OxyContext","DEFAULT_SESSION_VALIDITY_MS","SESSION_HANDOFF_DEADLINE","getHttpStatus","error","undefined","status","response","isUnauthorizedStatus","cachedUseFollowHook","loadUseFollowHook","useFollow","require","__DEV__","warn","component","method","fallback","Error","OxyProvider","children","oxyServices","providedOxyServices","baseURL","authWebUrl","authRedirectUri","storageKeyPrefix","clientId","clientIdProp","coldBoot","onAuthStateChange","onError","oxyServicesRef","current","authStoreRef","authStore","user","isAuthenticated","isLoading","loginSuccess","loginFailure","logoutStore","state","logout","tokenReady","setTokenReady","hasAccessToken","setHasAccessToken","Boolean","getAccessToken","authResolved","setAuthResolved","authResolvedRef","userRef","isAuthenticatedRef","initialized","setInitialized","accountDialogOpen","setAccountDialogOpen","setAuthState","setState","applyToSingleton","accessToken","setTokens","clearTokens","onTokensChanged","message","err","storageKeys","trimmed","trim","storageRef","storage","setStorage","buildStorageDeferred","resolve","promise","Promise","res","storageReadyRef","storageReady","mounted","then","storageInstance","catch","code","currentLanguage","metadata","currentLanguageMetadata","languageName","currentLanguageName","nativeLanguageName","currentNativeLanguageName","setLanguage","applyLanguagePreference","languageKey","language","queryClient","sessions","activeSessionId","setActiveSessionId","updateSessions","switchSession","clearSessionState","saveActiveSessionId","setAuthError","switchSessionRef","clearSessionStateRef","setActiveSessionIdRef","loginSuccessRef","onAuthStateChangeRef","markAuthResolved","markAuthResolvedRef","runColdBootRef","sessionClientPairRef","clearError","signedOutSocketAuth","loadDeviceToken","onSessionAppeared","client","sessionClient","host","sessionClientHost","syncFromClient","getState","accounts","length","setCurrentAccountId","capturedRevision","revision","ids","users","getUsersByIds","fetchError","latest","usersById","Map","map","resolvedUser","id","activeUser","activeAccountId","syncFromClientRef","subscribe","signIn","logoutAll","store","clearAllAccountData","clear","reset","clearCache","getDeviceSessions","logoutAllDeviceSessions","updateDeviceName","useFollowHook","clearingInvalidTokenRef","handleTokenChange","finally","dispose","oxy","scheduler","commitSession","input","options","refreshToken","userId","deviceToken","next","sessionId","deviceId","deviceSecret","expiresAt","save","persistError","now","Date","getTime","toISOString","lastActive","isCurrent","merge","activate","registerAndActivate","addCurrentAccount","start","registrationError","fullUser","getCurrentUser","profileError","debug","commitSessionRef","handleWebSession","session","handleWebSessionRef","accountDialogControllerRef","locale","onSignedIn","openUrl","url","openURL","accountDialogController","openAccountDialog","view","setView","closeAccountDialog","cancelSignIn","controller","destroy","open","close","signInWithPassword","identifier","password","opts","result","passwordSignIn","deviceName","deviceFingerprint","loginToken","completeTwoFactorSignIn","params","token","backupCode","runColdBoot","platform","isWeb","isNative","onSession","handoff","handoffDeadlineId","race","setTimeout","clearTimeout","onSignedOut","startError","onStepError","String","refreshSessionsForContext","bootstrap","switchSessionForContext","targetAccountId","find","account","accountId","switchAccount","hasIdentity","getPublicKey","showBottomSheetForContext","screenOrConfig","openAvatarPicker","setAccounts","refreshAccounts","list","listAccounts","refresh","runPostAccountSwitchSideEffects","invalidateQueries","switchToAccount","deviceState","some","createAccountFn","data","createAccount","canUsePrivateApi","isPrivateApiPending","contextValue","isTokenReady","isAuthResolved","isStorageReady","removeSession","refreshSessions","isAccountDialogOpen","Provider","value","OxyContextProvider","PROVIDER_MISSING_ERROR_MESSAGE","rejectMissingProvider","reject","LOADING_STATE_OXY_SERVICES","LOADING_STATE","useOxy","context"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContext.tsx"],"mappings":"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","ignoreList":[]}
@@ -86,6 +86,11 @@ export const useAuthOperations = ({
86
86
  if (refreshToken) {
87
87
  try {
88
88
  const deviceToken = (await store.loadDeviceToken()) ?? undefined;
89
+ // Phase 2c: mirror the refreshToken handling for the rotating
90
+ // deviceSecret — persist it with the response's deviceId so the next
91
+ // cold boot restores via the zero-cookie mint. `SessionLoginResponse`
92
+ // types neither; read the secret defensively from the runtime payload.
93
+ const deviceSecret = sessionResponse.deviceSecret;
89
94
  await store.save({
90
95
  sessionId: sessionResponse.sessionId,
91
96
  refreshToken,
@@ -93,6 +98,12 @@ export const useAuthOperations = ({
93
98
  ...(deviceToken ? {
94
99
  deviceToken
95
100
  } : {}),
101
+ ...(sessionResponse.deviceId ? {
102
+ deviceId: sessionResponse.deviceId
103
+ } : {}),
104
+ ...(deviceSecret ? {
105
+ deviceSecret
106
+ } : {}),
96
107
  ...(sessionResponse.accessToken ? {
97
108
  accessToken: sessionResponse.accessToken
98
109
  } : {}),