@oxyhq/services 12.1.0 → 12.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/SignInModal.js +9 -2
- package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +15 -8
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +8 -0
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/inSessionTokenRefresh.js +66 -90
- package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +10 -2
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/utils/crossApex.js +74 -0
- package/lib/commonjs/utils/crossApex.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/SignInModal.js +9 -2
- package/lib/module/ui/components/SignInModal.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +15 -8
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +8 -0
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/inSessionTokenRefresh.js +67 -91
- package/lib/module/ui/context/inSessionTokenRefresh.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +10 -2
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/utils/crossApex.js +69 -0
- package/lib/module/utils/crossApex.js.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
- 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/context/inSessionTokenRefresh.d.ts +27 -31
- package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/crossApex.d.ts +55 -0
- package/lib/typescript/commonjs/utils/crossApex.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
- 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/context/inSessionTokenRefresh.d.ts +27 -31
- package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/module/utils/crossApex.d.ts +55 -0
- package/lib/typescript/module/utils/crossApex.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +4 -0
- package/src/ui/components/SignInModal.tsx +18 -6
- package/src/ui/context/OxyContext.tsx +15 -8
- package/src/ui/context/hooks/useAuthOperations.ts +8 -0
- package/src/ui/context/inSessionTokenRefresh.ts +75 -90
- package/src/ui/screens/OxyAuthScreen.tsx +20 -6
- package/src/utils/crossApex.ts +75 -0
|
@@ -10,6 +10,7 @@ var _core = require("@oxyhq/core");
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
var _useWebSSO = require("../hooks/useWebSSO.js");
|
|
12
12
|
var _activeAuthuser = require("../utils/activeAuthuser.js");
|
|
13
|
+
var _silentSessionRestore = require("./silentSessionRestore.js");
|
|
13
14
|
/**
|
|
14
15
|
* In-session access-token refresh for the React Native / Expo SDK.
|
|
15
16
|
*
|
|
@@ -27,10 +28,10 @@ var _activeAuthuser = require("../utils/activeAuthuser.js");
|
|
|
27
28
|
*
|
|
28
29
|
* 1. {@link createInSessionRefreshHandler} — an `AuthRefreshHandler` installed
|
|
29
30
|
* on the owner client. It re-mints a fresh access token WITHOUT a page
|
|
30
|
-
* reload by
|
|
31
|
-
*
|
|
32
|
-
* (`createLinkedClient`) inherits the fix for
|
|
33
|
-
* back to the owner's `refreshAccessToken`.
|
|
31
|
+
* reload by composing the SAME silent-restore primitives cold boot uses
|
|
32
|
+
* ({@link mintSessionViaPerApexIframe}, {@link selectActiveRefreshAccount}) —
|
|
33
|
+
* not a copy. The linked client (`createLinkedClient`) inherits the fix for
|
|
34
|
+
* free: its refresh delegates back to the owner's `refreshAccessToken`.
|
|
34
35
|
*
|
|
35
36
|
* 2. {@link startTokenRefreshScheduler} — a proactive scheduler that refreshes
|
|
36
37
|
* ~{@link TOKEN_REFRESH_LEAD_MS} before expiry (and on web tab-focus / native
|
|
@@ -69,111 +70,85 @@ const COOKIE_REFRESH_TIMEOUT = 4000;
|
|
|
69
70
|
* waiting for the next request.
|
|
70
71
|
*/
|
|
71
72
|
const TOKEN_REFRESH_LEAD_MS = exports.TOKEN_REFRESH_LEAD_MS = 60_000;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
reason
|
|
78
|
-
}, error);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* A single refresh arm: attempts one silent-restore mechanism and resolves to
|
|
76
|
+
* the freshly planted access token, or `null` to fall through to the next arm.
|
|
77
|
+
*/
|
|
81
78
|
|
|
82
79
|
/**
|
|
83
80
|
* Build the in-session `AuthRefreshHandler` for the owner client.
|
|
84
81
|
*
|
|
85
|
-
* Arms
|
|
86
|
-
*
|
|
87
|
-
* it
|
|
82
|
+
* Arms run in an explicit order; the first to plant a token wins. Each arm
|
|
83
|
+
* resolves to the planted token (read back via `getAccessToken()` — the
|
|
84
|
+
* underlying SDK call plants it internally) or `null`. A throw in one arm is
|
|
85
|
+
* logged and treated as `null` so the chain continues.
|
|
88
86
|
*
|
|
89
87
|
* NATIVE (Expo): shared cross-app identity key re-mint
|
|
90
88
|
* (`signInWithSharedIdentity` → challenge→sign→verify plants the tokens).
|
|
91
89
|
* The ONLY silent native arm (mirrors cold boot's `shared-key-signin`); the
|
|
92
|
-
* `/auth/silent` web iframe is NEVER attempted on native.
|
|
90
|
+
* `/auth/silent` web iframe is NEVER attempted on native. Resolves to `null`
|
|
93
91
|
* when the device holds no shared identity (e.g. a password-only native
|
|
94
92
|
* sign-in) so a genuinely dead session reconciles to logged-out rather than
|
|
95
93
|
* staying a zombie.
|
|
96
94
|
*
|
|
97
95
|
* WEB, in order:
|
|
98
|
-
* 1.
|
|
99
|
-
* (
|
|
100
|
-
*
|
|
101
|
-
* `fedcm_session` cookie on `auth.<apex>` and mints a fresh Oxy token. No
|
|
102
|
-
* top-level navigation → works in a backgrounded tab. On a `*.oxy.so`
|
|
103
|
-
* app the per-apex host IS the central host, so this also covers
|
|
104
|
-
* same-apex.
|
|
96
|
+
* 1. Per-apex `/auth/silent` iframe — {@link mintSessionViaPerApexIframe}
|
|
97
|
+
* (shared verbatim with cold boot). The durable cross-apex path; also
|
|
98
|
+
* covers `*.oxy.so` (the per-apex host IS the central host there).
|
|
105
99
|
* 2. FedCM silent re-auth (Chrome) — `silentSignInWithFedCM`.
|
|
106
|
-
* 3. Same-apex refresh cookie — `refreshAllSessions
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* bearer.
|
|
100
|
+
* 3. Same-apex refresh cookie — `refreshAllSessions` + the shared
|
|
101
|
+
* {@link selectActiveRefreshAccount}; plant the active account's rotated
|
|
102
|
+
* token. On a cross-apex RP it returns `{accounts:[]}` (clean no-op).
|
|
103
|
+
* Unlike the cold-boot cookie restore this does NOT rebuild multi-session
|
|
104
|
+
* state — an in-session refresh only needs a fresh bearer.
|
|
112
105
|
*
|
|
113
|
-
* NO RECURSION:
|
|
106
|
+
* NO RECURSION: no arm issues a request through the authed client's
|
|
114
107
|
* `refreshAccessToken` path. The iframe/FedCM transports are postMessage /
|
|
115
108
|
* credential APIs; the follow-up `/session/user` fetch inside `silentSignIn`
|
|
116
109
|
* runs against the just-planted FULL-TTL token (≫ the preflight lead), so it
|
|
117
|
-
* never re-enters the refresh path; `refreshAllSessions` uses a raw `fetch
|
|
118
|
-
* `credentials:'include'`.
|
|
110
|
+
* never re-enters the refresh path; `refreshAllSessions` uses a raw `fetch`.
|
|
119
111
|
*/
|
|
120
112
|
function createInSessionRefreshHandler(oxyServices) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
debugRefresh('Native shared-key in-session refresh failed', reason, error);
|
|
113
|
+
const runArm = async (label, reason, arm) => {
|
|
114
|
+
try {
|
|
115
|
+
return await arm();
|
|
116
|
+
} catch (error) {
|
|
117
|
+
if (__DEV__) {
|
|
118
|
+
_core.logger.debug(`In-session refresh arm "${label}" failed (falling through)`, {
|
|
119
|
+
component: 'inSessionTokenRefresh',
|
|
120
|
+
method: 'authRefreshHandler',
|
|
121
|
+
reason
|
|
122
|
+
}, error);
|
|
132
123
|
}
|
|
133
124
|
return null;
|
|
134
125
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (perApexAuthUrl) {
|
|
140
|
-
const session = await oxyServices.silentSignIn?.({
|
|
141
|
-
authWebUrlOverride: perApexAuthUrl,
|
|
142
|
-
timeout: SILENT_IFRAME_REFRESH_TIMEOUT
|
|
143
|
-
});
|
|
144
|
-
if (session) {
|
|
145
|
-
return oxyServices.getAccessToken();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
} catch (error) {
|
|
149
|
-
debugRefresh('Silent-iframe in-session refresh failed', reason, error);
|
|
126
|
+
};
|
|
127
|
+
const webArms = [['silent-iframe', async () => (await (0, _silentSessionRestore.mintSessionViaPerApexIframe)(oxyServices, SILENT_IFRAME_REFRESH_TIMEOUT)) ? oxyServices.getAccessToken() : null], ['fedcm-silent', async () => {
|
|
128
|
+
if (oxyServices.isFedCMSupported?.() !== true) {
|
|
129
|
+
return null;
|
|
150
130
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
} catch (error) {
|
|
161
|
-
debugRefresh('FedCM-silent in-session refresh failed', reason, error);
|
|
131
|
+
return (await oxyServices.silentSignInWithFedCM?.()) ? oxyServices.getAccessToken() : null;
|
|
132
|
+
}], ['refresh-cookie', async () => {
|
|
133
|
+
const snapshot = await oxyServices.refreshAllSessions({
|
|
134
|
+
timeout: COOKIE_REFRESH_TIMEOUT
|
|
135
|
+
});
|
|
136
|
+
if (snapshot.accounts.length === 0) {
|
|
137
|
+
return null;
|
|
162
138
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
139
|
+
const active = (0, _silentSessionRestore.selectActiveRefreshAccount)(snapshot.accounts, (0, _activeAuthuser.readActiveAuthuser)());
|
|
140
|
+
oxyServices.httpService.setTokens(active.accessToken);
|
|
141
|
+
return oxyServices.getAccessToken();
|
|
142
|
+
}]];
|
|
143
|
+
return async reason => {
|
|
144
|
+
if (!(0, _useWebSSO.isWebBrowser)()) {
|
|
145
|
+
return runArm('native-shared-key', reason, async () => (await oxyServices.signInWithSharedIdentity?.()) ? oxyServices.getAccessToken() : null);
|
|
146
|
+
}
|
|
147
|
+
for (const [label, arm] of webArms) {
|
|
148
|
+
const token = await runArm(label, reason, arm);
|
|
149
|
+
if (token) {
|
|
150
|
+
return token;
|
|
174
151
|
}
|
|
175
|
-
} catch (error) {
|
|
176
|
-
debugRefresh('Refresh-cookie in-session refresh failed', reason, error);
|
|
177
152
|
}
|
|
178
153
|
return null;
|
|
179
154
|
};
|
|
@@ -191,14 +166,15 @@ function createInSessionRefreshHandler(oxyServices) {
|
|
|
191
166
|
* current access token's `exp`, calling `httpService.refreshAccessToken`
|
|
192
167
|
* ('preflight') — which runs the installed handler and is deduped + cooldown-
|
|
193
168
|
* guarded. After every attempt it reschedules from the (possibly rotated) token.
|
|
194
|
-
* It also reschedules whenever the token changes (`onTokensChanged`
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
* expired on return).
|
|
169
|
+
* It also reschedules whenever the token changes (`onTokensChanged` — so a
|
|
170
|
+
* sign-out that clears the token cancels the timer) and, on web tab-focus /
|
|
171
|
+
* native app-foreground, refreshes immediately if already inside the lead window
|
|
172
|
+
* (a long-hidden tab throttles timers, so the token can be expired on return).
|
|
198
173
|
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
* path
|
|
174
|
+
* The `exp` is derived directly from the JWT via `getAccessTokenExpiry()`. No-ops
|
|
175
|
+
* cleanly when there is no token, an opaque/no-`exp` token, or the host lacks
|
|
176
|
+
* `getAccessTokenExpiry` (older stubs) — the reactive 401 path stays the only
|
|
177
|
+
* refresh trigger in those cases.
|
|
202
178
|
*/
|
|
203
179
|
function startTokenRefreshScheduler(oxyServices) {
|
|
204
180
|
let disposed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_reactNative","_useWebSSO","_activeAuthuser","SILENT_IFRAME_REFRESH_TIMEOUT","COOKIE_REFRESH_TIMEOUT","TOKEN_REFRESH_LEAD_MS","exports","
|
|
1
|
+
{"version":3,"names":["_core","require","_reactNative","_useWebSSO","_activeAuthuser","_silentSessionRestore","SILENT_IFRAME_REFRESH_TIMEOUT","COOKIE_REFRESH_TIMEOUT","TOKEN_REFRESH_LEAD_MS","exports","createInSessionRefreshHandler","oxyServices","runArm","label","reason","arm","error","__DEV__","loggerUtil","debug","component","method","webArms","mintSessionViaPerApexIframe","getAccessToken","isFedCMSupported","silentSignInWithFedCM","snapshot","refreshAllSessions","timeout","accounts","length","active","selectActiveRefreshAccount","readActiveAuthuser","httpService","setTokens","accessToken","isWebBrowser","signInWithSharedIdentity","token","startTokenRefreshScheduler","disposed","timer","clearTimer","clearTimeout","runRefresh","refresh","refreshAccessToken","catch","finally","schedule","expSeconds","getAccessTokenExpiry","fireInMs","Date","now","setTimeout","Math","max","onForeground","remainingMs","unsubscribeTokens","onTokensChanged","removeForeground","document","handler","visibilityState","addEventListener","removeEventListener","AppState","subscription","state","remove","dispose"],"sourceRoot":"../../../../src","sources":["ui/context/inSessionTokenRefresh.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,6 +16,7 @@ var _OxyLogo = _interopRequireDefault(require("../components/OxyLogo.js"));
|
|
|
16
16
|
var _AnotherDeviceQR = _interopRequireDefault(require("../components/AnotherDeviceQR.js"));
|
|
17
17
|
var _LoadingState = _interopRequireDefault(require("../components/LoadingState.js"));
|
|
18
18
|
var _useOxyAuthSession = require("../hooks/useOxyAuthSession.js");
|
|
19
|
+
var _crossApex = require("../../utils/crossApex.js");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
22
|
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); }
|
|
@@ -58,6 +59,13 @@ const OxyAuthScreen = ({
|
|
|
58
59
|
} = (0, _useOxyAuthSession.useOxyAuthSession)(oxyServices, clientId, switchSession, {
|
|
59
60
|
onSignedIn: onAuthenticated
|
|
60
61
|
});
|
|
62
|
+
|
|
63
|
+
// On a cross-apex web RP, only the "Continue with Oxy" IdP popup establishes a
|
|
64
|
+
// durable `fedcm_session`. The Commons-app handoffs (same-device deep-link +
|
|
65
|
+
// cross-device QR) approve OUTSIDE the browser, so they leave no IdP session
|
|
66
|
+
// and the user would be logged out on reload — hide them there. Off-browser
|
|
67
|
+
// (native) this is always `false`, so the bottom sheet is unchanged.
|
|
68
|
+
const crossApexWeb = (0, _crossApex.isCrossApexWeb)();
|
|
61
69
|
if (isLoading) {
|
|
62
70
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
71
|
className: "flex-1 items-center justify-center bg-bg",
|
|
@@ -117,7 +125,7 @@ const OxyAuthScreen = ({
|
|
|
117
125
|
fillColor: bloomTheme.colors.primaryForeground
|
|
118
126
|
}),
|
|
119
127
|
children: "Continue with Oxy"
|
|
120
|
-
}), qrPayload && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
128
|
+
}), !crossApexWeb && qrPayload && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
121
129
|
variant: "secondary",
|
|
122
130
|
size: "large",
|
|
123
131
|
fullWidth: true,
|
|
@@ -137,7 +145,7 @@ const OxyAuthScreen = ({
|
|
|
137
145
|
className: "font-sans text-body text-text-secondary",
|
|
138
146
|
children: "Waiting for authorization..."
|
|
139
147
|
})]
|
|
140
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
148
|
+
}), !crossApexWeb && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
141
149
|
className: "w-full mt-space-24",
|
|
142
150
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_AnotherDeviceQR.default, {
|
|
143
151
|
qrData: qrData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_theme","_button","_loading","_typography","_iconCircle","Icons","_interopRequireWildcard","_OxyContext","_OxyLogo","_interopRequireDefault","_AnotherDeviceQR","_LoadingState","_useOxyAuthSession","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyAuthScreen","goBack","onAuthenticated","bloomTheme","useTheme","oxyServices","switchSession","clientId","useOxy","qrData","qrPayload","isLoading","error","isWaiting","openAuthApproval","openSameDeviceApproval","retry","useOxyAuthSession","onSignedIn","jsx","View","className","children","size","color","colors","primary","message","jsxs","IconCircle","icon","Warning_Stroke2_Corner0_Rounded","Text","Button","variant","fullWidth","onPress","ArrowRotateClockwise_Stroke2_Corner0_Rounded","style","primaryForeground","H4","fillColor","text","Loading","Linking","openURL","OXY_ACCOUNTS_WEB_URL","accessibilityLabel","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/screens/OxyAuthScreen.tsx"],"mappings":";;;;;;AAkBA,IAAAA,YAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAC,uBAAA,CAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAC,sBAAA,CAAAV,OAAA;AACA,IAAAW,gBAAA,GAAAD,sBAAA,CAAAV,OAAA;AACA,IAAAY,aAAA,GAAAF,sBAAA,CAAAV,OAAA;AACA,IAAAa,kBAAA,GAAAb,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_theme","_button","_loading","_typography","_iconCircle","Icons","_interopRequireWildcard","_OxyContext","_OxyLogo","_interopRequireDefault","_AnotherDeviceQR","_LoadingState","_useOxyAuthSession","_crossApex","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","OxyAuthScreen","goBack","onAuthenticated","bloomTheme","useTheme","oxyServices","switchSession","clientId","useOxy","qrData","qrPayload","isLoading","error","isWaiting","openAuthApproval","openSameDeviceApproval","retry","useOxyAuthSession","onSignedIn","crossApexWeb","isCrossApexWeb","jsx","View","className","children","size","color","colors","primary","message","jsxs","IconCircle","icon","Warning_Stroke2_Corner0_Rounded","Text","Button","variant","fullWidth","onPress","ArrowRotateClockwise_Stroke2_Corner0_Rounded","style","primaryForeground","H4","fillColor","text","Loading","Linking","openURL","OXY_ACCOUNTS_WEB_URL","accessibilityLabel","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/screens/OxyAuthScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CrossApexDirectSignInError = void 0;
|
|
7
|
+
exports.isCrossApexWeb = isCrossApexWeb;
|
|
8
|
+
var _core = require("@oxyhq/core");
|
|
9
|
+
/**
|
|
10
|
+
* Cross-apex web detection for sign-in durability gating.
|
|
11
|
+
*
|
|
12
|
+
* On a web Relying Party whose registrable apex differs from the central Oxy
|
|
13
|
+
* Identity Provider apex (`oxy.so`), the ONLY sign-in completion that survives a
|
|
14
|
+
* page reload is the interactive "Continue with Oxy" IdP flow, because it is the
|
|
15
|
+
* only one that establishes a first-party `fedcm_session` cookie at
|
|
16
|
+
* `auth.<apex>` — the anchor the cross-domain cold-boot restore reads on reload.
|
|
17
|
+
*
|
|
18
|
+
* The other sign-in completions the SDK can drive do NOT plant a `fedcm_session`:
|
|
19
|
+
* - password / public-key sign-in mints a bearer directly against the Oxy API
|
|
20
|
+
* (its refresh cookie is host-scoped to `api.oxy.so` and `SameSite=Lax`, so
|
|
21
|
+
* it is unreachable cross-site from the RP), and
|
|
22
|
+
* - the Commons-app device-flow handoff (cross-device QR / same-device
|
|
23
|
+
* deep-link) is approved OUTSIDE the browser, so no IdP browser session is
|
|
24
|
+
* established.
|
|
25
|
+
* On a cross-apex RP each of these leaves the user signed in for the current
|
|
26
|
+
* page only — a reload logs them out. See OxyHQServices AGENTS.md
|
|
27
|
+
* "Auth / Session Contract".
|
|
28
|
+
*
|
|
29
|
+
* Same-apex `*.oxy.so` apps (e.g. `accounts.oxy.so`) are first-party with
|
|
30
|
+
* `api.oxy.so`: their refresh cookie rides same-site requests so reload restore
|
|
31
|
+
* works without `fedcm_session`, and they are therefore NOT gated.
|
|
32
|
+
*
|
|
33
|
+
* Returns `false` off-browser (React Native has no `window.location`) and for
|
|
34
|
+
* hosts without a registrable apex (localhost / raw IP / single-label dev
|
|
35
|
+
* hosts), so native and local development keep every sign-in method.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Whether the given host is a web RP on a registrable apex other than the
|
|
40
|
+
* central Oxy IdP apex (`oxy.so`). See the module doc for why this gates the
|
|
41
|
+
* non-durable sign-in paths.
|
|
42
|
+
*
|
|
43
|
+
* @param hostname - The host to classify. Defaults to the current
|
|
44
|
+
* `window.location.hostname`; resolves to `undefined` off-browser (React
|
|
45
|
+
* Native / SSR), which yields `false`. The explicit parameter mirrors
|
|
46
|
+
* `autoDetectAuthWebUrl(location?)` and keeps the predicate unit-testable
|
|
47
|
+
* without manipulating the global `window.location`.
|
|
48
|
+
*/
|
|
49
|
+
function isCrossApexWeb(hostname = typeof window !== 'undefined' ? window.location?.hostname : undefined) {
|
|
50
|
+
if (!hostname) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const apex = (0, _core.registrableApex)(hostname);
|
|
54
|
+
return apex !== null && apex !== _core.CENTRAL_IDP_APEX;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Thrown when an app attempts a direct (non-IdP) sign-in — password or
|
|
59
|
+
* public-key — on a cross-apex web RP, where such a sign-in would not survive a
|
|
60
|
+
* page reload because no `fedcm_session` is established (see {@link isCrossApexWeb}).
|
|
61
|
+
*
|
|
62
|
+
* Apps on a cross-apex apex must sign in through the interactive
|
|
63
|
+
* "Continue with Oxy" IdP flow (`OxySignInButton` / `showSignInModal()`), which
|
|
64
|
+
* plants the durable session.
|
|
65
|
+
*/
|
|
66
|
+
class CrossApexDirectSignInError extends Error {
|
|
67
|
+
name = 'CrossApexDirectSignInError';
|
|
68
|
+
code = 'CROSS_APEX_DIRECT_SIGN_IN_UNSUPPORTED';
|
|
69
|
+
constructor() {
|
|
70
|
+
super('Direct sign-in is unavailable on this domain because the session would ' + 'not survive a page reload. Use "Continue with Oxy" to sign in through ' + 'the Oxy identity provider.');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.CrossApexDirectSignInError = CrossApexDirectSignInError;
|
|
74
|
+
//# sourceMappingURL=crossApex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_core","require","isCrossApexWeb","hostname","window","location","undefined","apex","registrableApex","CENTRAL_IDP_APEX","CrossApexDirectSignInError","Error","name","code","constructor","exports"],"sourceRoot":"../../../src","sources":["utils/crossApex.ts"],"mappings":";;;;;;;AA6BA,IAAAA,KAAA,GAAAC,OAAA;AA7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,cAAcA,CAC5BC,QAA4B,GAAG,OAAOC,MAAM,KAAK,WAAW,GACxDA,MAAM,CAACC,QAAQ,EAAEF,QAAQ,GACzBG,SAAS,EACJ;EACT,IAAI,CAACH,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,MAAMI,IAAI,GAAG,IAAAC,qBAAe,EAACL,QAAQ,CAAC;EACtC,OAAOI,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAKE,sBAAgB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,0BAA0B,SAASC,KAAK,CAAC;EAClCC,IAAI,GAAG,4BAA4B;EAC5CC,IAAI,GAAG,uCAAuC;EAEvDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CACH,yEAAyE,GACvE,wEAAwE,GACxE,4BACJ,CAAC;EACH;AACF;AAACC,OAAA,CAAAL,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -89,6 +89,11 @@ export { useOnlineStatus } from "./ui/hooks/useOnlineStatus.js";
|
|
|
89
89
|
// Error handlers
|
|
90
90
|
// ---------------------------------------------------------------------------
|
|
91
91
|
export { handleAuthError, isInvalidSessionError, isTimeoutOrNetworkError, extractErrorMessage } from "./ui/utils/errorHandlers.js";
|
|
92
|
+
// Thrown by `signInWithPassword` / `signIn` on a cross-apex web RP, where a
|
|
93
|
+
// direct (non-IdP) sign-in would not survive a page reload — apps catch it to
|
|
94
|
+
// route the user to the durable "Continue with Oxy" IdP flow.
|
|
95
|
+
export { CrossApexDirectSignInError, isCrossApexWeb } from "./utils/crossApex.js";
|
|
96
|
+
|
|
92
97
|
// ---------------------------------------------------------------------------
|
|
93
98
|
// File filtering
|
|
94
99
|
// ---------------------------------------------------------------------------
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","useOnlineStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,SAASA,aAAa,QAAyB,aAAa;AAC5D,SAASC,QAAQ,QAAQ,cAAc;AACvCD,aAAa,CAACC,QAAQ,CAACC,EAAgB,CAAC;;AAExC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,WAAW,QAAQ,gCAA6B;AACpE,SAASC,MAAM,QAAQ,4BAAyB;AAEhD,SAASC,OAAO,QAAQ,uBAAoB;AAG5C;AACA;AACA;AACA,SAASC,UAAU,QAAQ,+BAA4B;;AAEvD;AACA;AACA;AACA,SAASC,YAAY,QAAQ,0BAAuB;AACpD,SACIC,aAAa,EACbC,SAAS,IAAIC,cAAc,EAC3BC,QAAQ,EACRC,iBAAiB,EACjBC,eAAe,EACfC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,QACb,2BAAwB;;AAE/B;AACA;AACA;AACA,SAASC,gBAAgB,QAAQ,gCAA6B;AAC9D,SAASV,SAAS,EAAEW,mBAAmB,QAAQ,yBAAsB;AACrE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,SAAS,EAAEC,iBAAiB,QAAQ,yBAAsB;;AAEnE;AACA;AACA;AACA,SACIC,cAAc,EACdC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,iBAAiB,QACd,yCAAsC;AAC7C,SACIC,WAAW,EACXC,UAAU,EACVC,iBAAiB,EACjBC,cAAc,EACdC,eAAe,EACfC,sBAAsB,QACnB,0CAAuC;AAC9C,SACIC,mBAAmB,EACnBC,yBAAyB,EACzBC,2BAA2B,QACxB,0CAAuC;AAC9C,SACIC,mBAAmB,EACnBC,eAAe,EACfC,aAAa,EACbC,yBAAyB,QACtB,yCAAsC;;AAE7C;;AAeA;AACA;AACA;AACA,SACIC,gBAAgB,EAChBC,eAAe,EACfC,wBAAwB,EACxBC,wBAAwB,EACxBC,gCAAgC,EAChCC,wBAAwB,EACxBC,sBAAsB,EACtBC,aAAa,QACV,6CAA0C;AACjD,SACIC,gBAAgB,EAChBC,gBAAgB,EAChBC,YAAY,EACZC,mBAAmB,EACnBC,eAAe,QACZ,8CAA2C;AAClD,SACIC,qBAAqB,EACrBC,qBAAqB,QAClB,yCAAsC;AAM7C;AACA,SAASC,YAAY,QAAQ,sCAAmC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA,SACIC,SAAS,EACTC,wBAAwB,EACxBC,qBAAqB,EACrBC,wBAAwB,EACxBC,uBAAuB,EACvBC,wBAAwB,EACxBC,yBAAyB,EACzBC,wBAAwB,EACxBC,yBAAyB,EACzBC,8BAA8B,QAC3B,iCAA8B;;AAErC;AACA,SAASC,iBAAiB,QAAQ,iCAA8B;AAEhE,SAASC,eAAe,QAAQ,+BAA4B;;AAE5D;AACA;AACA;AACA,SACIC,eAAe,EACfC,qBAAqB,EACrBC,uBAAuB,EACvBC,mBAAmB,QAChB,6BAA0B;
|
|
1
|
+
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","FontLoader","useAuthStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","useSessionSocket","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useAuthorizedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeAuthorizedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","useMutationStatus","useOnlineStatus","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","CrossApexDirectSignInError","isCrossApexWeb","useFileFiltering","Avatar","OxySignInButton","OxyAuthPrompt","OxyLogo","FollowButton","LogoIcon","LogoText","ActingAsBanner","AccountMenu","AccountMenuButton","useDeviceAccounts","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","showBottomSheet","closeBottomSheet","showSignInModal","hideSignInModal"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,6 +27,7 @@ import { useOxy } from "../context/OxyContext.js";
|
|
|
27
27
|
import OxyLogo from "./OxyLogo.js";
|
|
28
28
|
import AnotherDeviceQR from "./AnotherDeviceQR.js";
|
|
29
29
|
import { useOxyAuthSession, OXY_ACCOUNTS_WEB_URL } from "../hooks/useOxyAuthSession.js";
|
|
30
|
+
import { isCrossApexWeb } from "../../utils/crossApex.js";
|
|
30
31
|
|
|
31
32
|
// Store for modal visibility with subscription support
|
|
32
33
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -101,6 +102,12 @@ const SignInModalContent = ({
|
|
|
101
102
|
onSignedIn: hideSignInModal
|
|
102
103
|
});
|
|
103
104
|
|
|
105
|
+
// On a cross-apex web RP, only the "Continue with Oxy" IdP popup establishes
|
|
106
|
+
// a durable `fedcm_session`. The Commons-app handoffs (same-device deep-link
|
|
107
|
+
// + cross-device QR) approve OUTSIDE the browser, so they leave no IdP
|
|
108
|
+
// session and the user would be logged out on reload — hide them there.
|
|
109
|
+
const crossApexWeb = isCrossApexWeb();
|
|
110
|
+
|
|
104
111
|
// Entrance animation.
|
|
105
112
|
const opacity = useSharedValue(0);
|
|
106
113
|
const scale = useSharedValue(0.96);
|
|
@@ -209,7 +216,7 @@ const SignInModalContent = ({
|
|
|
209
216
|
}),
|
|
210
217
|
style: styles.primaryButton,
|
|
211
218
|
children: "Continue with Oxy"
|
|
212
|
-
}), qrPayload && /*#__PURE__*/_jsx(Button, {
|
|
219
|
+
}), !crossApexWeb && qrPayload && /*#__PURE__*/_jsx(Button, {
|
|
213
220
|
variant: "secondary",
|
|
214
221
|
onPress: openSameDeviceApproval,
|
|
215
222
|
icon: /*#__PURE__*/_jsx(OxyLogo, {
|
|
@@ -231,7 +238,7 @@ const SignInModalContent = ({
|
|
|
231
238
|
}],
|
|
232
239
|
children: "Waiting for authorization..."
|
|
233
240
|
})]
|
|
234
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
241
|
+
}), !crossApexWeb && /*#__PURE__*/_jsx(View, {
|
|
235
242
|
style: styles.qrSection,
|
|
236
243
|
children: /*#__PURE__*/_jsx(AnotherDeviceQR, {
|
|
237
244
|
qrData: qrData,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useEffect","useCallback","View","Text","TouchableOpacity","StyleSheet","Modal","Animated","useSharedValue","useAnimatedStyle","withTiming","useSafeAreaInsets","useTheme","Button","Loading","Linking","useOxy","OxyLogo","AnotherDeviceQR","useOxyAuthSession","OXY_ACCOUNTS_WEB_URL","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","modalVisible","setModalVisibleCallback","visibilityListeners","Set","showSignInModal","listener","hideSignInModal","isSignInModalVisible","subscribeToSignInModal","add","delete","SignInModal","visible","setVisible","insets","theme","oxyServices","switchSession","clientId","SignInModalContent","qrData","qrPayload","isLoading","error","isWaiting","openAuthApproval","openSameDeviceApproval","retry","onSignedIn","opacity","scale","value","duration","backdropStyle","contentStyle","transform","handleClose","handleCreateAccount","openURL","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","styles","backdrop","backgroundColor","colors","overlay","absoluteFill","onPress","activeOpacity","card","paddingTop","top","paddingBottom","bottom","closeButton","backgroundSecondary","accessibilityRole","accessibilityLabel","closeButtonText","color","textSecondary","header","variant","size","className","title","subtitle","loadingContainer","loadingText","errorContainer","errorText","primaryButton","icon","fillColor","primaryForeground","buttonIcon","text","secondaryButton","statusContainer","statusSpinner","statusText","qrSection","footer","footerText","footerLink","create","flex","justifyContent","alignItems","width","maxWidth","paddingHorizontal","borderRadius","position","right","height","zIndex","fontSize","fontWeight","lineHeight","marginBottom","marginTop","textAlign","marginRight","flexDirection","undefined","marginLeft","paddingVertical","flexWrap"],"sourceRoot":"../../../../src","sources":["ui/components/SignInModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useState","useEffect","useCallback","View","Text","TouchableOpacity","StyleSheet","Modal","Animated","useSharedValue","useAnimatedStyle","withTiming","useSafeAreaInsets","useTheme","Button","Loading","Linking","useOxy","OxyLogo","AnotherDeviceQR","useOxyAuthSession","OXY_ACCOUNTS_WEB_URL","isCrossApexWeb","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","modalVisible","setModalVisibleCallback","visibilityListeners","Set","showSignInModal","listener","hideSignInModal","isSignInModalVisible","subscribeToSignInModal","add","delete","SignInModal","visible","setVisible","insets","theme","oxyServices","switchSession","clientId","SignInModalContent","qrData","qrPayload","isLoading","error","isWaiting","openAuthApproval","openSameDeviceApproval","retry","onSignedIn","crossApexWeb","opacity","scale","value","duration","backdropStyle","contentStyle","transform","handleClose","handleCreateAccount","openURL","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","styles","backdrop","backgroundColor","colors","overlay","absoluteFill","onPress","activeOpacity","card","paddingTop","top","paddingBottom","bottom","closeButton","backgroundSecondary","accessibilityRole","accessibilityLabel","closeButtonText","color","textSecondary","header","variant","size","className","title","subtitle","loadingContainer","loadingText","errorContainer","errorText","primaryButton","icon","fillColor","primaryForeground","buttonIcon","text","secondaryButton","statusContainer","statusSpinner","statusText","qrSection","footer","footerText","footerLink","create","flex","justifyContent","alignItems","width","maxWidth","paddingHorizontal","borderRadius","position","right","height","zIndex","fontSize","fontWeight","lineHeight","marginBottom","marginTop","textAlign","marginRight","flexDirection","undefined","marginLeft","paddingVertical","flexWrap"],"sourceRoot":"../../../../src","sources":["ui/components/SignInModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -23,6 +23,7 @@ import { useAccountStore } from "../stores/accountStore.js";
|
|
|
23
23
|
import { logger as loggerUtil } from '@oxyhq/core';
|
|
24
24
|
import { useWebSSO, isWebBrowser } from "../hooks/useWebSSO.js";
|
|
25
25
|
import { buildSilentGuardKey } from "../../utils/silentGuardKey.js";
|
|
26
|
+
import { isCrossApexWeb, CrossApexDirectSignInError } from "../../utils/crossApex.js";
|
|
26
27
|
import { createInSessionRefreshHandler, startTokenRefreshScheduler } from "./inSessionTokenRefresh.js";
|
|
27
28
|
import { mintSessionViaPerApexIframe, selectActiveRefreshAccount } from "./silentSessionRestore.js";
|
|
28
29
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -1233,14 +1234,13 @@ export const OxyProvider = ({
|
|
|
1233
1234
|
// step that prevents the re-bounce loop: when it finds a session,
|
|
1234
1235
|
// the terminal `sso-bounce` never fires.
|
|
1235
1236
|
//
|
|
1236
|
-
// The
|
|
1237
|
-
//
|
|
1238
|
-
//
|
|
1239
|
-
//
|
|
1240
|
-
//
|
|
1241
|
-
//
|
|
1242
|
-
//
|
|
1243
|
-
// `isWebBrowser()` gates it off, so native never runs an iframe.
|
|
1237
|
+
// The per-apex iframe mint itself lives in
|
|
1238
|
+
// `mintSessionViaPerApexIframe` (shared verbatim with the in-session
|
|
1239
|
+
// refresh handler so the two paths can never drift): it points the
|
|
1240
|
+
// iframe at `autoDetectAuthWebUrl()` and skips when there is no
|
|
1241
|
+
// per-apex IdP (localhost/IP/single-label/off-browser). Web only; on
|
|
1242
|
+
// native `isWebBrowser()` gates it off, so native never runs an
|
|
1243
|
+
// iframe.
|
|
1244
1244
|
//
|
|
1245
1245
|
// FIX-B: additionally skipped when `stored-session` already won.
|
|
1246
1246
|
// FIX-D: bounded by `SILENT_IFRAME_TIMEOUT` (plus `iframe.onerror`
|
|
@@ -1588,6 +1588,13 @@ export const OxyProvider = ({
|
|
|
1588
1588
|
// discriminated result so the caller can run the 2FA challenge without any
|
|
1589
1589
|
// session being committed.
|
|
1590
1590
|
const signInWithPassword = useCallback(async (identifier, password, opts) => {
|
|
1591
|
+
// On a cross-apex web RP a direct password sign-in mints a bearer against
|
|
1592
|
+
// the Oxy API but establishes no `fedcm_session`, so the session would be
|
|
1593
|
+
// lost on reload. Refuse it and direct the app to the durable IdP popup
|
|
1594
|
+
// ("Continue with Oxy"). Native and same-apex `*.oxy.so` are unaffected.
|
|
1595
|
+
if (isCrossApexWeb()) {
|
|
1596
|
+
throw new CrossApexDirectSignInError();
|
|
1597
|
+
}
|
|
1591
1598
|
const response = await oxyServices.signIn(identifier, password, opts?.deviceName, opts?.deviceFingerprint);
|
|
1592
1599
|
// Core types `signIn` as `SessionLoginResponse`, but the API may instead
|
|
1593
1600
|
// return a 2FA challenge handoff. Widen with optional fields (no `any`) to
|