@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 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeSafeAreaContext","_OxyContext","_reactQuery","_bloom","_toast","_core","_FontLoader","_RequireOxyAuth","_queryClient","_storageHelpers","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BOOT_BG_COLOR","bootStyles","StyleSheet","create","providerRoot","flex","bootShell","backgroundColor","setupFonts","isWeb","Platform","OS","KEYBOARD_CONTROLLER_MODULE","LazyBottomSheetRouter","lazy","Promise","resolve","then","mod","error","__DEV__","loggerUtil","Error","String","component","LazyOxyAccountDialog","OxyProvider","oxyServices","children","onAuthStateChange","storageKeyPrefix","clientId","baseURL","authWebUrl","authRedirectUri","queryClient","providedQueryClient","requireAuth","KBProvider","setKBProvider","useState","useEffect","moduleName","specifier","s","KeyboardProvider","catch","warn","KeyboardWrapper","jsx","Fragment","storageRef","useRef","queryClientRef","persistenceUnsubRef","setQueryClient","current","mounted","bootstrap","storage","createPlatformStorage","client","createQueryClient","restored","unsubscribe","attachQueryPersistence","handleVisibilityChange","focusManager","setFocused","document","visibilityState","addEventListener","removeEventListener","subscription","AppState","state","remove","cleanup","setupNetworkMonitoring","onlineManager","setOnline","navigator","onLine","handleOnline","handleOffline","window","NetInfo","fetch","isConnected","GestureHandlerRootView","style","SafeAreaProvider","View","coreContent","QueryClientProvider","BloomDialogProvider","jsxs","OxyContextProvider","RequireOxyAuth","prompt","Suspense","fallback","ToastOutlet","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/OxyProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_reactNativeSafeAreaContext","_OxyContext","_reactQuery","_bloom","_toast","_core","_FontLoader","_RequireOxyAuth","_queryClient","_storageHelpers","_jsxRuntime","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BOOT_BG_COLOR","bootStyles","StyleSheet","create","providerRoot","flex","bootShell","backgroundColor","setupFonts","isWeb","Platform","OS","KEYBOARD_CONTROLLER_MODULE","LazyBottomSheetRouter","lazy","Promise","resolve","then","mod","error","__DEV__","loggerUtil","Error","String","component","LazyOxyAccountDialog","OxyProvider","oxyServices","children","onAuthStateChange","storageKeyPrefix","clientId","baseURL","authWebUrl","authRedirectUri","queryClient","providedQueryClient","requireAuth","coldBoot","KBProvider","setKBProvider","useState","useEffect","moduleName","specifier","s","KeyboardProvider","catch","warn","KeyboardWrapper","jsx","Fragment","storageRef","useRef","queryClientRef","persistenceUnsubRef","setQueryClient","current","mounted","bootstrap","storage","createPlatformStorage","client","createQueryClient","restored","unsubscribe","attachQueryPersistence","handleVisibilityChange","focusManager","setFocused","document","visibilityState","addEventListener","removeEventListener","subscription","AppState","state","remove","cleanup","setupNetworkMonitoring","onlineManager","setOnline","navigator","onLine","handleOnline","handleOffline","window","NetInfo","fetch","isConnected","GestureHandlerRootView","style","SafeAreaProvider","View","coreContent","QueryClientProvider","BloomDialogProvider","jsxs","OxyContextProvider","RequireOxyAuth","prompt","Suspense","fallback","ToastOutlet","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/OxyProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,17 +3,61 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.OxySignInButton = void 0;
6
+ exports.default = exports.OxySignInButton = exports.OXY_OAUTH_STATE_STORAGE_KEY = exports.OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = void 0;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
+ var _core = require("@oxyhq/core");
9
10
  var _authStore = require("../stores/authStore.js");
10
11
  var _shallow = require("zustand/react/shallow");
11
12
  var _theme = require("@oxyhq/bloom/theme");
12
13
  var _OxyContext = require("../context/OxyContext.js");
13
14
  var _OxyLogo = _interopRequireDefault(require("./OxyLogo.js"));
14
15
  var _accountDialogManager = require("../navigation/accountDialogManager.js");
16
+ var _oauthNavigation = require("./oauthNavigation.js");
15
17
  var _jsxRuntime = require("react/jsx-runtime");
16
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ /**
20
+ * `sessionStorage` keys under which a third-party "Sign in with Oxy" OAuth flow
21
+ * persists its CSRF `state` and PKCE `code_verifier` across the authorize
22
+ * redirect. The Relying Party's redirect-URI callback reads them back to
23
+ * validate the returned `state` and replay the verifier on the token exchange.
24
+ *
25
+ * Web only: a browser RP navigates away to `auth.oxy.so` and back, so the
26
+ * handshake must survive a full-page redirect. Native completes the flow inside
27
+ * a single `WebBrowser` auth session and surfaces the handshake via
28
+ * {@link OxySignInButtonProps.onOAuthResult} instead.
29
+ */
30
+ const OXY_OAUTH_STATE_STORAGE_KEY = exports.OXY_OAUTH_STATE_STORAGE_KEY = 'oxy_oauth_state';
31
+ const OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = exports.OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = 'oxy_oauth_code_verifier';
32
+
33
+ /**
34
+ * The OAuth handshake surfaced to a NATIVE third-party RP via
35
+ * {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
36
+ * (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
37
+ * back from `sessionStorage` across the redirect and do not need this callback.
38
+ */
39
+
40
+ /**
41
+ * Persist the OAuth CSRF `state` + PKCE `code_verifier` for the RP callback.
42
+ * Returns `false` when the handshake could not be stored — no `sessionStorage`
43
+ * (SSR / non-browser host) or a write that threw (`SecurityError` /
44
+ * `QuotaExceededError`, e.g. Safari private mode) — so the caller aborts the
45
+ * flow cleanly rather than redirect to a callback that cannot validate `state`.
46
+ */
47
+ function persistOAuthHandshake(state, codeVerifier) {
48
+ const store = globalThis.sessionStorage;
49
+ try {
50
+ if (!store) throw new Error('sessionStorage is unavailable');
51
+ store.setItem(OXY_OAUTH_STATE_STORAGE_KEY, state);
52
+ store.setItem(OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, codeVerifier);
53
+ return true;
54
+ } catch (error) {
55
+ _core.logger.warn('OxySignInButton: could not persist the OAuth handshake to sessionStorage; aborting third-party sign-in', {
56
+ component: 'OxySignInButton'
57
+ }, error);
58
+ return false;
59
+ }
60
+ }
17
61
  /**
18
62
  * A pre-styled button component for signing in with Oxy identity
19
63
  *
@@ -45,11 +89,15 @@ const OxySignInButton = ({
45
89
  textStyle,
46
90
  text = 'Sign in with Oxy',
47
91
  disabled = false,
48
- showWhenAuthenticated = false
92
+ showWhenAuthenticated = false,
93
+ oauthRedirectUri,
94
+ onOAuthResult
49
95
  }) => {
50
96
  const theme = (0, _theme.useTheme)();
51
97
  const {
52
- openAccountDialog
98
+ openAccountDialog,
99
+ oxyServices,
100
+ clientId
53
101
  } = (0, _OxyContext.useOxy)();
54
102
  const {
55
103
  isAuthenticated,
@@ -64,15 +112,136 @@ const OxySignInButton = ({
64
112
  const [isModalOpen, setIsModalOpen] = (0, _react.useState)(false);
65
113
  (0, _react.useEffect)(() => (0, _accountDialogManager.subscribeToSignInModal)(setIsModalOpen), []);
66
114
 
67
- // Open the unified account dialog on its sign-in view (same surface on web +
68
- // native), or defer to a caller-supplied handler.
115
+ // The application's public identity is resolved lazily on first press and its
116
+ // promise cached, so rapid taps share one in-flight resolve. The cache is
117
+ // KEYED on the identity inputs (clientId + the oxyServices instance): if
118
+ // either changes the cache is invalidated and re-resolved — without a
119
+ // useEffect. A rejected resolve clears the cache so a later press can retry.
120
+ const appResolutionRef = (0, _react.useRef)(null);
121
+ // Re-entrancy guard: a routing pass may await network + crypto before it
122
+ // redirects, so block a second concurrent press from racing the sessionStorage
123
+ // handshake against a different PKCE pair.
124
+ const routingRef = (0, _react.useRef)(false);
125
+ const resolvePublicApplication = (0, _react.useCallback)(() => {
126
+ if (!clientId) return null;
127
+ const cached = appResolutionRef.current;
128
+ if (cached && cached.clientId === clientId && cached.oxyServices === oxyServices) {
129
+ return cached.promise;
130
+ }
131
+ const promise = oxyServices.getPublicApplication(clientId).catch(error => {
132
+ // Only clear if this is still the live entry (a later resolve may have
133
+ // replaced it after a clientId/oxyServices change).
134
+ if (appResolutionRef.current?.promise === promise) {
135
+ appResolutionRef.current = null;
136
+ }
137
+ throw error;
138
+ });
139
+ appResolutionRef.current = {
140
+ clientId,
141
+ oxyServices,
142
+ promise
143
+ };
144
+ return promise;
145
+ }, [clientId, oxyServices]);
146
+
147
+ // Official / first-party surface: the in-app account + sign-in dialog.
148
+ const startOfficialSignIn = (0, _react.useCallback)(() => {
149
+ openAccountDialog('signin');
150
+ }, [openAccountDialog]);
151
+
152
+ // Third-party surface: an OAuth 2.0 authorization-code + PKCE redirect to
153
+ // auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
154
+ const startThirdPartyOAuth = (0, _react.useCallback)(async app => {
155
+ if (!clientId) {
156
+ startOfficialSignIn();
157
+ return;
158
+ }
159
+ if (!oauthRedirectUri) {
160
+ _core.logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth redirect; sign-in aborted', undefined, {
161
+ component: 'OxySignInButton',
162
+ clientId,
163
+ application: app.name
164
+ });
165
+ return;
166
+ }
167
+ const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
168
+ const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
169
+ clientId,
170
+ redirectUri: oauthRedirectUri,
171
+ state,
172
+ codeChallenge: pkce.codeChallenge
173
+ });
174
+ if (_reactNative.Platform.OS === 'web') {
175
+ // Persist the handshake for the RP callback, then hand the
176
+ // top-level document to the IdP. Without storage the callback
177
+ // cannot validate `state`, so abort cleanly rather than redirect.
178
+ if (!persistOAuthHandshake(state, pkce.codeVerifier)) {
179
+ return;
180
+ }
181
+ (0, _oauthNavigation.redirectToAuthorize)(authorizeUrl);
182
+ return;
183
+ }
184
+
185
+ // Native: open the in-app auth session, then hand the handshake to the
186
+ // RP so it can complete the token exchange from its deep-link callback.
187
+ const {
188
+ redirectUrl
189
+ } = await (0, _oauthNavigation.openAuthorizeUrlNative)(authorizeUrl, oauthRedirectUri);
190
+ if (onOAuthResult) {
191
+ onOAuthResult({
192
+ redirectUrl,
193
+ state,
194
+ codeVerifier: pkce.codeVerifier
195
+ });
196
+ return;
197
+ }
198
+ _core.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)', {
199
+ component: 'OxySignInButton',
200
+ application: app.name
201
+ });
202
+ }, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn]);
203
+
204
+ // Resolve the Application once, then route: third-party → OAuth redirect;
205
+ // first-party / official / unresolved → the in-app dialog. Resolution failure
206
+ // NEVER breaks an official app's sign-in — it falls back to the dialog.
207
+ const routeSignIn = (0, _react.useCallback)(async () => {
208
+ if (routingRef.current) return;
209
+ routingRef.current = true;
210
+ try {
211
+ const resolving = resolvePublicApplication();
212
+ if (!resolving) {
213
+ startOfficialSignIn();
214
+ return;
215
+ }
216
+ let app;
217
+ try {
218
+ app = await resolving;
219
+ } catch (error) {
220
+ _core.logger.warn('OxySignInButton: could not resolve the application; opening the sign-in dialog', {
221
+ component: 'OxySignInButton',
222
+ clientId
223
+ }, error);
224
+ startOfficialSignIn();
225
+ return;
226
+ }
227
+ if (app.type === 'third_party' && !app.isOfficial) {
228
+ await startThirdPartyOAuth(app);
229
+ return;
230
+ }
231
+ startOfficialSignIn();
232
+ } finally {
233
+ routingRef.current = false;
234
+ }
235
+ }, [resolvePublicApplication, startOfficialSignIn, startThirdPartyOAuth, clientId]);
236
+
237
+ // Defer to a caller-supplied handler, otherwise route by application type.
69
238
  const handlePress = (0, _react.useCallback)(() => {
70
239
  if (onPress) {
71
240
  onPress();
72
241
  return;
73
242
  }
74
- openAccountDialog('signin');
75
- }, [onPress, openAccountDialog]);
243
+ void routeSignIn();
244
+ }, [onPress, routeSignIn]);
76
245
  const themedStyles = (0, _react.useMemo)(() => _reactNative.StyleSheet.create({
77
246
  button: {
78
247
  padding: 14,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_authStore","_shallow","_theme","_OxyContext","_OxyLogo","_interopRequireDefault","_accountDialogManager","_jsxRuntime","e","__esModule","default","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","theme","useTheme","openAccountDialog","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","state","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToSignInModal","handlePress","useCallback","themedStyles","useMemo","StyleSheet","create","button","padding","borderRadius","alignItems","justifyContent","buttonDefault","backgroundColor","colors","card","borderWidth","borderColor","borderLight","Platform","select","web","boxShadow","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","jsx","TouchableOpacity","children","jsxs","View","size","fillColor","innerFillColor","Text","exports","_default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_OxyContext","_OxyLogo","_interopRequireDefault","_accountDialogManager","_oauthNavigation","_jsxRuntime","e","__esModule","default","OXY_OAUTH_STATE_STORAGE_KEY","exports","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","persistOAuthHandshake","state","codeVerifier","store","globalThis","sessionStorage","Error","setItem","error","logger","warn","component","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","useTheme","openAccountDialog","oxyServices","clientId","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToSignInModal","appResolutionRef","useRef","routingRef","resolvePublicApplication","useCallback","cached","current","promise","getPublicApplication","catch","startOfficialSignIn","startThirdPartyOAuth","app","undefined","application","name","pkce","Promise","all","generatePkcePair","generateOAuthState","authorizeUrl","buildOAuthAuthorizeUrl","redirectUri","codeChallenge","Platform","OS","redirectToAuthorize","redirectUrl","openAuthorizeUrlNative","routeSignIn","resolving","type","isOfficial","handlePress","themedStyles","useMemo","StyleSheet","create","button","padding","borderRadius","alignItems","justifyContent","buttonDefault","backgroundColor","colors","card","borderWidth","borderColor","borderLight","select","web","boxShadow","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","jsx","TouchableOpacity","children","jsxs","View","size","fillColor","innerFillColor","Text","_default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.openAuthorizeUrlNative = openAuthorizeUrlNative;
7
+ exports.redirectToAuthorize = redirectToAuthorize;
8
+ var _reactNative = require("react-native");
9
+ var _core = require("@oxyhq/core");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /**
11
+ * Platform navigation for the third-party "Sign in with Oxy" OAuth flow.
12
+ *
13
+ * Kept out of `OxySignInButton` so the button's routing logic can be unit-tested
14
+ * without driving a real browser navigation (jsdom's `location.assign` is
15
+ * non-configurable and cannot be spied). Both entry points hand a fully-built
16
+ * `auth.oxy.so/authorize` URL to the platform — never FedCM, an SSO bounce, or
17
+ * an Oxy session cookie.
18
+ */
19
+ /** Minimal shape of the optional `expo-web-browser` auth-session result. */
20
+
21
+ /** Minimal shape of the optional `expo-web-browser` native module we depend on. */
22
+
23
+ /** Outcome of opening the authorize URL on native. */
24
+
25
+ /**
26
+ * Web: hand the TOP-LEVEL document to the OAuth authorize URL (a full-page
27
+ * redirect, not a popup) so the RP returns to its registered `redirect_uri`.
28
+ * No-op where `location` is unavailable (SSR / non-browser hosts).
29
+ */
30
+ function redirectToAuthorize(url) {
31
+ globalThis.location?.assign(url);
32
+ }
33
+
34
+ /**
35
+ * Native: open the authorize URL in an in-app auth session via the optional
36
+ * `expo-web-browser` module (`openAuthSessionAsync` returns to `redirectUri`),
37
+ * degrading to `Linking.openURL` when the module is not installed — the same
38
+ * dynamic-import-with-fallback pattern services uses for haptics/netinfo.
39
+ *
40
+ * Returns the deep-link URL the session came back to when it can be observed, so
41
+ * the caller can hand `?code=…&state=…` back to the RP for the token exchange.
42
+ */
43
+ async function openAuthorizeUrlNative(url, redirectUri) {
44
+ try {
45
+ const mod = await Promise.resolve().then(() => _interopRequireWildcard(require('expo-web-browser')));
46
+ if (mod && typeof mod.openAuthSessionAsync === 'function') {
47
+ const result = await mod.openAuthSessionAsync(url, redirectUri);
48
+ const redirectUrl = result && result.type === 'success' && typeof result.url === 'string' ? result.url : null;
49
+ return {
50
+ redirectUrl
51
+ };
52
+ }
53
+ } catch (error) {
54
+ _core.logger.warn('OxySignInButton: expo-web-browser auth session failed; falling back to Linking.openURL', {
55
+ component: 'oauthNavigation'
56
+ }, error);
57
+ }
58
+
59
+ // Fallback: Linking cannot observe the return URL, so the RP completes the
60
+ // exchange from its own deep-link handler. A rejected openURL (e.g. an
61
+ // unregistered scheme) must not throw out of the sign-in flow.
62
+ try {
63
+ await _reactNative.Linking.openURL(url);
64
+ } catch (error) {
65
+ _core.logger.warn('OxySignInButton: Linking.openURL rejected the authorize URL', {
66
+ component: 'oauthNavigation'
67
+ }, error);
68
+ }
69
+ return {
70
+ redirectUrl: null
71
+ };
72
+ }
73
+ //# sourceMappingURL=oauthNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_core","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","redirectToAuthorize","url","globalThis","location","assign","openAuthorizeUrlNative","redirectUri","mod","Promise","resolve","then","openAuthSessionAsync","result","redirectUrl","type","error","logger","warn","component","Linking","openURL"],"sourceRoot":"../../../../src","sources":["ui/components/oauthNavigation.ts"],"mappings":";;;;;;;AAUA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAAqC,SAAAE,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA,KAXrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;;AAMA;;AAKA;;AAWA;AACA;AACA;AACA;AACA;AACO,SAASkB,mBAAmBA,CAACC,GAAW,EAAQ;EAClDC,UAAU,CAA6BC,QAAQ,EAAEC,MAAM,CAACH,GAAG,CAAC;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeI,sBAAsBA,CACxCJ,GAAW,EACXK,WAAmB,EACS;EAC5B,IAAI;IACA,MAAMC,GAAG,GAAI,MAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAA9B,uBAAA,CAAAF,OAAA,CAAa,kBAAkB,GAAiC;IAC7E,IAAI6B,GAAG,IAAI,OAAOA,GAAG,CAACI,oBAAoB,KAAK,UAAU,EAAE;MACvD,MAAMC,MAAM,GAAG,MAAML,GAAG,CAACI,oBAAoB,CAACV,GAAG,EAAEK,WAAW,CAAC;MAC/D,MAAMO,WAAW,GACbD,MAAM,IAAIA,MAAM,CAACE,IAAI,KAAK,SAAS,IAAI,OAAOF,MAAM,CAACX,GAAG,KAAK,QAAQ,GAC/DW,MAAM,CAACX,GAAG,GACV,IAAI;MACd,OAAO;QAAEY;MAAY,CAAC;IAC1B;EACJ,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZC,YAAM,CAACC,IAAI,CACP,wFAAwF,EACxF;MAAEC,SAAS,EAAE;IAAkB,CAAC,EAChCH,KACJ,CAAC;EACL;;EAEA;EACA;EACA;EACA,IAAI;IACA,MAAMI,oBAAO,CAACC,OAAO,CAACnB,GAAG,CAAC;EAC9B,CAAC,CAAC,OAAOc,KAAK,EAAE;IACZC,YAAM,CAACC,IAAI,CACP,6DAA6D,EAC7D;MAAEC,SAAS,EAAE;IAAkB,CAAC,EAChCH,KACJ,CAAC;EACL;EACA,OAAO;IAAEF,WAAW,EAAE;EAAK,CAAC;AAChC","ignoreList":[]}
@@ -118,6 +118,7 @@ const OxyProvider = ({
118
118
  authRedirectUri,
119
119
  storageKeyPrefix = 'oxy_session',
120
120
  clientId: clientIdProp,
121
+ coldBoot = true,
121
122
  onAuthStateChange,
122
123
  onError
123
124
  }) => {
@@ -534,6 +535,15 @@ const OxyProvider = ({
534
535
  ...(deviceToken ? {
535
536
  deviceToken
536
537
  } : {}),
538
+ // Phase 2c: persist the deviceId + rotating deviceSecret so the next
539
+ // cold boot can restore via the zero-cookie mint. Both are additive —
540
+ // absent on cookie-lane sign-ins, which fall back to the refresh family.
541
+ ...(input.deviceId ? {
542
+ deviceId: input.deviceId
543
+ } : {}),
544
+ ...(input.deviceSecret ? {
545
+ deviceSecret: input.deviceSecret
546
+ } : {}),
537
547
  ...(input.accessToken ? {
538
548
  accessToken: input.accessToken
539
549
  } : {}),
@@ -616,9 +626,10 @@ const OxyProvider = ({
616
626
  await commitSession({
617
627
  sessionId: session.sessionId,
618
628
  accessToken: session.accessToken,
619
- // deviceFlow threads a rotating refresh token on the runtime object
620
- // even though `SessionLoginResponse` does not type it.
629
+ // deviceFlow threads a rotating refresh token + deviceSecret on the
630
+ // runtime object even though `SessionLoginResponse` does not type them.
621
631
  refreshToken: session.refreshToken,
632
+ deviceSecret: session.deviceSecret,
622
633
  deviceId: session.deviceId,
623
634
  expiresAt: session.expiresAt,
624
635
  userId: session.user.id,
@@ -699,6 +710,7 @@ const OxyProvider = ({
699
710
  sessionId: result.sessionId,
700
711
  accessToken: result.accessToken,
701
712
  refreshToken: result.refreshToken,
713
+ deviceSecret: result.deviceSecret,
702
714
  deviceId: result.deviceId,
703
715
  expiresAt: result.expiresAt,
704
716
  userId: result.user.id,
@@ -723,6 +735,7 @@ const OxyProvider = ({
723
735
  sessionId: result.sessionId,
724
736
  accessToken: result.accessToken,
725
737
  refreshToken: result.refreshToken,
738
+ deviceSecret: result.deviceSecret,
726
739
  deviceId: result.deviceId,
727
740
  expiresAt: result.expiresAt,
728
741
  userId: result.user.id,
@@ -811,7 +824,20 @@ const OxyProvider = ({
811
824
  // self-acquire when a sibling signs in on this device while this tab is idle.
812
825
  runColdBootRef.current = runColdBoot;
813
826
  (0, _react.useEffect)(() => {
814
- if (!storage || initialized) {
827
+ if (initialized) {
828
+ return;
829
+ }
830
+ // IdP mode (`coldBoot={false}`): this provider is NOT the ecosystem session
831
+ // authority, so it never runs the device-first restore and never opens the
832
+ // signed-out device-state socket (`runColdBoot` → `onSignedOut` is the sole
833
+ // place that socket starts). Resolve auth immediately as signed out so there
834
+ // is no boot spinner; a deliberate sign-in still commits a normal session.
835
+ if (!coldBoot) {
836
+ setInitialized(true);
837
+ markAuthResolved();
838
+ return;
839
+ }
840
+ if (!storage) {
815
841
  return;
816
842
  }
817
843
  setInitialized(true);
@@ -820,7 +846,7 @@ const OxyProvider = ({
820
846
  logger('Cold boot failed', error);
821
847
  }
822
848
  });
823
- }, [runColdBoot, storage, initialized, logger]);
849
+ }, [coldBoot, runColdBoot, storage, initialized, logger, markAuthResolved]);
824
850
 
825
851
  // Exposed `refreshSessions`: re-bootstrap the server-authoritative device
826
852
  // state and reproject — the manual counterpart to the realtime socket.
@@ -917,6 +943,7 @@ const OxyProvider = ({
917
943
  sessionId: result.sessionId,
918
944
  accessToken: result.accessToken,
919
945
  refreshToken: result.refreshToken,
946
+ deviceSecret: result.deviceSecret,
920
947
  deviceId: result.deviceId,
921
948
  expiresAt: result.expiresAt,
922
949
  userId: result.user.id,