@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.
- package/README.md +77 -98
- package/lib/commonjs/index.js +19 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAccountDialog.js +62 -84
- package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -1
- package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
- package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +3 -1
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +176 -7
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
- package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +31 -4
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -0
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/OxyAccountDialog.js +63 -85
- package/lib/module/ui/components/OxyAccountDialog.js.map +1 -1
- package/lib/module/ui/components/OxyConsentScreen.js +454 -0
- package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +3 -1
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +177 -7
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/oauthNavigation.js +70 -0
- package/lib/module/ui/components/oauthNavigation.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +31 -4
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +11 -0
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +18 -2
- package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +14 -0
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +18 -0
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +18 -2
- package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
- package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
- package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts +14 -0
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +18 -0
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +12 -1
- package/src/ui/components/OxyAccountDialog.tsx +60 -85
- package/src/ui/components/OxyConsentScreen.tsx +456 -0
- package/src/ui/components/OxyProvider.tsx +2 -0
- package/src/ui/components/OxySignInButton.tsx +222 -6
- package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
- package/src/ui/components/oauthNavigation.ts +89 -0
- package/src/ui/context/OxyContext.tsx +44 -4
- package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
- package/src/ui/context/hooks/useAuthOperations.ts +7 -0
- 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
|
-
//
|
|
68
|
-
//
|
|
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
|
-
|
|
75
|
-
}, [onPress,
|
|
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","
|
|
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
|
|
620
|
-
// even though `SessionLoginResponse` does not type
|
|
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 (
|
|
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,
|