@atlasauth/js 0.16.0 → 0.17.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/CHANGELOG.md +13 -0
- package/dist/captcha-controller.js +1 -1
- package/dist/captcha-controller.js.map +1 -1
- package/dist/captcha-widget.d.ts +20 -2
- package/dist/captcha-widget.js +79 -4
- package/dist/captcha-widget.js.map +1 -1
- package/dist/captcha.d.ts +5 -0
- package/dist/captcha.js +30 -0
- package/dist/captcha.js.map +1 -1
- package/dist/compat.d.ts +149 -0
- package/dist/compat.js +363 -0
- package/dist/compat.js.map +1 -0
- package/dist/device-authorization.d.ts +70 -0
- package/dist/device-authorization.js +97 -0
- package/dist/device-authorization.js.map +1 -0
- package/dist/email-code-check.d.ts +60 -0
- package/dist/email-code-check.js +51 -0
- package/dist/email-code-check.js.map +1 -0
- package/dist/frontchannel-logout.d.ts +36 -0
- package/dist/frontchannel-logout.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/passkey-sign-up.d.ts +2 -2
- package/dist/passkey-sign-up.js +7 -1
- package/dist/passkey-sign-up.js.map +1 -1
- package/dist/passkey.d.ts +58 -2
- package/dist/passkey.js +61 -0
- package/dist/passkey.js.map +1 -1
- package/dist/sign-out-guard.d.ts +7 -0
- package/dist/sign-out-guard.js +38 -4
- package/dist/sign-out-guard.js.map +1 -1
- package/dist/sign-out.d.ts +23 -0
- package/dist/sign-out.js +37 -2
- package/dist/sign-out.js.map +1 -1
- package/dist/upstream-logout.d.ts +26 -0
- package/dist/upstream-logout.js +60 -0
- package/dist/upstream-logout.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +12 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlasauth/js changelog
|
|
2
2
|
|
|
3
|
+
## 0.17.0 — 2026-10-24
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `@atlasauth/js/compat`: `createAuth0CompatClient` / `Auth0CompatClient`, a drop-in for `@auth0/auth0-spa-js` on Atlas for framework-free browser apps (`loginWithRedirect`, `handleRedirectCallback`, `loginWithPopup`, `isAuthenticated`, `getUser`, `getIdTokenClaims`, `getTokenSilently` incl. templates and `detailedResponse`, `getTokenWithPopup`, `checkSession`, `logout`), with `Auth0CompatError` codes. What `atlas migrate code --from auth0` rewrites auth0-spa-js onto.
|
|
8
|
+
- Device sign-in approval on your own page (RFC 8628): `lookupDeviceAuthorization(client, userCode)`, `approveDeviceAuthorization(client, authorization)` and `denyDeviceAuthorization(...)` over `/v1/client/me/device_authorizations`, with `formatUserCode`, `userCodeFromUrl` and `DeviceAuthorizationError` (`needsReverification` when the app requires a recent re-authentication to approve, `isInvalidCode`).
|
|
9
|
+
- SAML Single Logout on sign-out: when the server returns `saml_logout_url`, `signOut()` sends the browser there after the local sign-out, so the identity provider's session ends too. It does not when another account was promoted. `signOut({ samlLogout: false })` keeps the page, `signOut({ samlLogoutRedirectUrl })` picks where the IdP returns the browser, and `SignOutResult.samlLogoutUrl` reports the URL. Also `safeSamlLogoutUrl`.
|
|
10
|
+
- Upstream (RP-initiated) logout on sign-out: when the session came from a custom OAuth/OIDC provider or an enterprise OIDC connection with RP-initiated logout on, the server returns `upstream_logout_url` and `signOut()` follows it after the local sign-out. `signOut({ upstreamLogout: false })` keeps the page, `signOut({ returnUrl })` picks where the user lands, and `SignOutResult.upstreamLogoutUrl` reports the URL. `SignOutGuard` takes a `navigate` opener (native hosts), used for SAML Single Logout too.
|
|
11
|
+
- A browser follows one logout redirect: if a sign-out returns both `upstream_logout_url` and `saml_logout_url`, the upstream URL is followed and the SAML identity provider is told server-to-server (SOAP back-channel logout, when configured); both URLs are reported. `samlLogoutRedirectUrl` defaults to `returnUrl`.
|
|
12
|
+
- WebAuthn PRF: `getPasskeyAssertion` and passkey registration take `prf` (`PasskeyPrfRequest`: `eval`, `evalByCredential`) and `onExtensionResults` (`PasskeyExtensionResults`); the outputs go to your code only and the `finish` body is unchanged. `passkeyExtensionsInput`, `readExtensionResults`.
|
|
13
|
+
- Check an emailed one-time code without using it up: `checkEmailCode(client, target, code)` (`EmailCodeCheck` with `expires_at` and `attempts_remaining`) for sign-in first and second factor, sign-up verification, step-up and email-address verification; `emailCodeCheckRequest`, `emailCodeTargetForAttempt`.
|
|
14
|
+
- Captcha providers CaptchaFox and Vercel BotID (`attestation_url` / `attestationUrl`, `fetchBotIdAttestation`); `isRenderableCaptcha(provider, flow)` takes the flow.
|
|
15
|
+
|
|
3
16
|
## 0.16.0 — 2026-10-23
|
|
4
17
|
|
|
5
18
|
### Added
|
|
@@ -22,7 +22,7 @@ function createCaptchaController(initial, settings = {}) {
|
|
|
22
22
|
// The settings the current widget was drawn with, so a redraw happens only
|
|
23
23
|
// when they actually change.
|
|
24
24
|
let drawnKey = null;
|
|
25
|
-
const needed = () => options.active && !!options.flow && (0, captcha_widget_1.isRenderableCaptcha)(options.flow.provider);
|
|
25
|
+
const needed = () => options.active && !!options.flow && (0, captcha_widget_1.isRenderableCaptcha)(options.flow.provider, options.flow);
|
|
26
26
|
const eager = () => options.eager ?? options.flow?.widget !== 'invisible';
|
|
27
27
|
const key = () => {
|
|
28
28
|
const f = options.flow;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha-controller.js","sourceRoot":"","sources":["../src/captcha-controller.ts"],"names":[],"mappings":";;AAqEA,0DA0FC;AAQD,sDAcC;AAUD,oDAYC;AAaD,gDA8CC;AAQD,oCAUC;AAQD,kDAgBC;AAOD,kDAUC;AAjUD,uCAAsD;AACtD,iCAA+E;AAC/E,2DAAoD;AACpD,uDAA8E;AAG9E,qDAO0B;AAwD1B,SAAgB,uBAAuB,CACrC,OAAkC,EAClC,WAAsC,EAAE;IAExC,IAAI,OAAO,GAA6B,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACtF,IAAI,SAAS,GAAuB,IAAI,CAAC;IACzC,IAAI,MAAM,GAA+B,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,wCAAwC;IACxC,IAAI,KAAK,GAA+B,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,6BAA6B;IAC7B,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,MAAM,MAAM,GAAG,GAAG,EAAE,CAClB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAA,oCAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"captcha-controller.js","sourceRoot":"","sources":["../src/captcha-controller.ts"],"names":[],"mappings":"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"}
|
package/dist/captcha-widget.d.ts
CHANGED
|
@@ -44,9 +44,21 @@ export interface FlowCaptcha {
|
|
|
44
44
|
* each fresh challenge. Set by `/v1/appearance`.
|
|
45
45
|
*/
|
|
46
46
|
challengeUrl?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Provider `vercel_botid`: the route on the app's own Vercel deployment that
|
|
49
|
+
* runs `checkBotId()` and answers `{ token }` (a signed BotID verdict). The
|
|
50
|
+
* widget POSTs to it — BotID's client (`initBotId`) must protect this path —
|
|
51
|
+
* and sends the token as `captcha_token`.
|
|
52
|
+
*/
|
|
53
|
+
attestationUrl?: string;
|
|
47
54
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Whether the prebuilt UIs can draw this provider's widget. Vercel BotID draws
|
|
57
|
+
* nothing — the "widget" fetches a signed verdict from the app's own route — so
|
|
58
|
+
* it is only obtainable when the flow names that route (`attestationUrl`); pass
|
|
59
|
+
* the flow to account for it.
|
|
60
|
+
*/
|
|
61
|
+
export declare function isRenderableCaptcha(provider?: string | null, flow?: Pick<FlowCaptcha, 'attestationUrl'> | null): boolean;
|
|
50
62
|
/** True when this flow always needs a rendered token before its request can proceed. */
|
|
51
63
|
export declare function flowNeedsCaptcha(flow: FlowCaptcha | null | undefined): flow is FlowCaptcha;
|
|
52
64
|
/** The two captcha error codes the Frontend API answers a gated request with. */
|
|
@@ -67,6 +79,12 @@ export interface RenderCaptchaOptions {
|
|
|
67
79
|
/** Atlas captcha: a custom challenge fetcher (e.g. through your FAPI proxy) and localised labels. */
|
|
68
80
|
atlas?: Pick<AtlasCaptchaOptions, 'fetchChallenge' | 'labels' | 'workers'>;
|
|
69
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Vercel BotID: no widget. POST the app's own attestation route (same-origin
|
|
84
|
+
* credentials, so the BotID client that protects it can attach its headers)
|
|
85
|
+
* and read the signed verdict `{ token }` it answers with.
|
|
86
|
+
*/
|
|
87
|
+
export declare function fetchBotIdAttestation(attestationUrl: string, fetchImpl?: typeof fetch): Promise<string>;
|
|
70
88
|
/** A widget rendered into a container: its eventual token, and a way to take it down. */
|
|
71
89
|
export interface CaptchaWidgetHandle {
|
|
72
90
|
/** Resolves with the solved token; rejects on provider error/timeout or removal. */
|
package/dist/captcha-widget.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.isRenderableCaptcha = isRenderableCaptcha;
|
|
|
5
5
|
exports.flowNeedsCaptcha = flowNeedsCaptcha;
|
|
6
6
|
exports.isCaptchaError = isCaptchaError;
|
|
7
7
|
exports.loadCaptchaProvider = loadCaptchaProvider;
|
|
8
|
+
exports.fetchBotIdAttestation = fetchBotIdAttestation;
|
|
8
9
|
exports.renderCaptchaWidget = renderCaptchaWidget;
|
|
9
10
|
exports.getCaptchaToken = getCaptchaToken;
|
|
10
11
|
/**
|
|
@@ -40,14 +41,25 @@ const RENDERABLE = new Set([
|
|
|
40
41
|
'recaptcha',
|
|
41
42
|
'recaptcha_v3',
|
|
42
43
|
'recaptcha_enterprise',
|
|
44
|
+
'captchafox',
|
|
45
|
+
'vercel_botid',
|
|
43
46
|
]);
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Whether the prebuilt UIs can draw this provider's widget. Vercel BotID draws
|
|
49
|
+
* nothing — the "widget" fetches a signed verdict from the app's own route — so
|
|
50
|
+
* it is only obtainable when the flow names that route (`attestationUrl`); pass
|
|
51
|
+
* the flow to account for it.
|
|
52
|
+
*/
|
|
53
|
+
function isRenderableCaptcha(provider, flow) {
|
|
54
|
+
if (!provider || !RENDERABLE.has(provider))
|
|
55
|
+
return false;
|
|
56
|
+
if (provider === 'vercel_botid')
|
|
57
|
+
return !!flow?.attestationUrl;
|
|
58
|
+
return true;
|
|
47
59
|
}
|
|
48
60
|
/** True when this flow always needs a rendered token before its request can proceed. */
|
|
49
61
|
function flowNeedsCaptcha(flow) {
|
|
50
|
-
return !!flow && flow.enabled === true && isRenderableCaptcha(flow.provider);
|
|
62
|
+
return !!flow && flow.enabled === true && isRenderableCaptcha(flow.provider, flow);
|
|
51
63
|
}
|
|
52
64
|
/** The two captcha error codes the Frontend API answers a gated request with. */
|
|
53
65
|
exports.CAPTCHA_ERROR_CODES = ['CAPTCHA_REQUIRED', 'CAPTCHA_FAILED'];
|
|
@@ -76,6 +88,10 @@ const SCRIPTS = {
|
|
|
76
88
|
src: (siteKey) => `https://www.google.com/recaptcha/enterprise.js?render=${encodeURIComponent(siteKey)}`,
|
|
77
89
|
global: 'grecaptcha',
|
|
78
90
|
},
|
|
91
|
+
captchafox: {
|
|
92
|
+
src: () => 'https://cdn.captchafox.com/api.js?render=explicit',
|
|
93
|
+
global: 'captchafox',
|
|
94
|
+
},
|
|
79
95
|
};
|
|
80
96
|
/**
|
|
81
97
|
* Load a provider's script and resolve its global. Idempotent: a second call for
|
|
@@ -184,6 +200,45 @@ function recaptchaV2Token(api, el, siteKey, mode, onTeardown) {
|
|
|
184
200
|
}
|
|
185
201
|
});
|
|
186
202
|
}
|
|
203
|
+
/** CaptchaFox: `render` resolves the widget id; hidden mode runs on `execute`. */
|
|
204
|
+
function captchafoxToken(api, el, siteKey, mode, onTeardown) {
|
|
205
|
+
return new Promise((resolve, reject) => {
|
|
206
|
+
const fail = () => reject(new Error('captcha: captchafox error'));
|
|
207
|
+
Promise.resolve(api.render(el, {
|
|
208
|
+
sitekey: siteKey,
|
|
209
|
+
mode: mode === 'invisible' ? 'hidden' : 'inline',
|
|
210
|
+
onVerify: (token) => resolve(token),
|
|
211
|
+
onError: fail,
|
|
212
|
+
onFail: fail,
|
|
213
|
+
})).then((id) => {
|
|
214
|
+
onTeardown(() => api.remove?.(id));
|
|
215
|
+
if (mode === 'invisible' && api.execute) {
|
|
216
|
+
Promise.resolve(api.execute(id)).then((token) => {
|
|
217
|
+
if (typeof token === 'string' && token)
|
|
218
|
+
resolve(token);
|
|
219
|
+
}, fail);
|
|
220
|
+
}
|
|
221
|
+
}, fail);
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Vercel BotID: no widget. POST the app's own attestation route (same-origin
|
|
226
|
+
* credentials, so the BotID client that protects it can attach its headers)
|
|
227
|
+
* and read the signed verdict `{ token }` it answers with.
|
|
228
|
+
*/
|
|
229
|
+
async function fetchBotIdAttestation(attestationUrl, fetchImpl = globalThis.fetch) {
|
|
230
|
+
const response = await fetchImpl(attestationUrl, {
|
|
231
|
+
method: 'POST',
|
|
232
|
+
credentials: 'same-origin',
|
|
233
|
+
headers: { accept: 'application/json' },
|
|
234
|
+
});
|
|
235
|
+
if (!response.ok)
|
|
236
|
+
throw new Error(`captcha: BotID attestation route answered ${response.status}`);
|
|
237
|
+
const body = (await response.json());
|
|
238
|
+
if (typeof body.token !== 'string' || !body.token)
|
|
239
|
+
throw new Error('captcha: BotID attestation missing');
|
|
240
|
+
return body.token;
|
|
241
|
+
}
|
|
187
242
|
/** reCAPTCHA v3 / Enterprise (score): execute programmatically, no visible widget. */
|
|
188
243
|
function recaptchaV3Token(api, siteKey) {
|
|
189
244
|
const run = () => {
|
|
@@ -214,6 +269,24 @@ function renderCaptchaWidget(flow, container, options = {}) {
|
|
|
214
269
|
...options.atlas,
|
|
215
270
|
});
|
|
216
271
|
}
|
|
272
|
+
if (provider === 'vercel_botid') {
|
|
273
|
+
let removed = false;
|
|
274
|
+
const win = (container.ownerDocument?.defaultView ?? globalThis);
|
|
275
|
+
const token = flow.attestationUrl
|
|
276
|
+
? fetchBotIdAttestation(flow.attestationUrl, win.fetch?.bind(win)).then((t) => {
|
|
277
|
+
if (removed)
|
|
278
|
+
throw new Error('captcha: widget removed');
|
|
279
|
+
return t;
|
|
280
|
+
})
|
|
281
|
+
: Promise.reject(new Error('captcha: vercel_botid needs an attestationUrl'));
|
|
282
|
+
token.catch(() => { });
|
|
283
|
+
return {
|
|
284
|
+
token,
|
|
285
|
+
remove() {
|
|
286
|
+
removed = true;
|
|
287
|
+
},
|
|
288
|
+
};
|
|
289
|
+
}
|
|
217
290
|
const siteKey = flow.siteKey ?? '';
|
|
218
291
|
const mode = flow.widget ?? 'managed';
|
|
219
292
|
const win = (container.ownerDocument?.defaultView ?? globalThis);
|
|
@@ -239,6 +312,8 @@ function renderCaptchaWidget(flow, container, options = {}) {
|
|
|
239
312
|
case 'recaptcha_v3':
|
|
240
313
|
case 'recaptcha_enterprise':
|
|
241
314
|
return recaptchaV3Token(api, siteKey);
|
|
315
|
+
case 'captchafox':
|
|
316
|
+
return captchafoxToken(api, container, siteKey, mode, onTeardown);
|
|
242
317
|
default:
|
|
243
318
|
throw new Error(`captcha: ${provider} is not renderable`);
|
|
244
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha-widget.js","sourceRoot":"","sources":["../src/captcha-widget.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"captcha-widget.js","sourceRoot":"","sources":["../src/captcha-widget.ts"],"names":[],"mappings":"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"}
|
package/dist/captcha.d.ts
CHANGED
|
@@ -26,6 +26,11 @@ export interface CaptchaWidgetConfig {
|
|
|
26
26
|
site_key: string | null;
|
|
27
27
|
/** How a widget-drawing provider should render. */
|
|
28
28
|
widget_mode: 'invisible' | 'managed' | 'visible';
|
|
29
|
+
/**
|
|
30
|
+
* Vercel BotID only: the route on your own Vercel deployment that answers
|
|
31
|
+
* `{ token }` (a signed BotID verdict). Null for every other provider.
|
|
32
|
+
*/
|
|
33
|
+
attestation_url?: string | null;
|
|
29
34
|
/** Whether this action ALWAYS requires a passing captcha. */
|
|
30
35
|
enabled: boolean;
|
|
31
36
|
}
|
package/dist/captcha.js
CHANGED
|
@@ -4,6 +4,7 @@ exports.loadCaptchaScript = loadCaptchaScript;
|
|
|
4
4
|
exports.resetCaptchaScripts = resetCaptchaScripts;
|
|
5
5
|
exports.captcha = captcha;
|
|
6
6
|
const atlas_captcha_1 = require("./atlas-captcha");
|
|
7
|
+
const captcha_widget_1 = require("./captcha-widget");
|
|
7
8
|
/**
|
|
8
9
|
* The widget CDN script per provider. A string is a fixed URL (rendered
|
|
9
10
|
* explicitly); a function builds the URL from the site key (reCAPTCHA v3 embeds
|
|
@@ -14,6 +15,7 @@ const PROVIDER_SCRIPTS = {
|
|
|
14
15
|
turnstile: 'https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit',
|
|
15
16
|
recaptcha: 'https://www.google.com/recaptcha/api.js?render=explicit',
|
|
16
17
|
recaptcha_v3: (siteKey) => `https://www.google.com/recaptcha/api.js?render=${encodeURIComponent(siteKey)}`,
|
|
18
|
+
captchafox: 'https://cdn.captchafox.com/api.js?render=explicit',
|
|
17
19
|
};
|
|
18
20
|
/** One-shot loaders, keyed by script URL, so a provider script injects once. */
|
|
19
21
|
const scriptLoads = new Map();
|
|
@@ -99,6 +101,27 @@ function renderWidget(provider, siteKey, element, action, widgetMode) {
|
|
|
99
101
|
});
|
|
100
102
|
return;
|
|
101
103
|
}
|
|
104
|
+
case 'captchafox': {
|
|
105
|
+
const api = w.captchafox;
|
|
106
|
+
if (!api)
|
|
107
|
+
return reject(new Error('CaptchaFox did not load.'));
|
|
108
|
+
const fail = () => reject(new Error('CaptchaFox challenge failed.'));
|
|
109
|
+
Promise.resolve(api.render(element, {
|
|
110
|
+
sitekey: siteKey,
|
|
111
|
+
mode: invisible ? 'hidden' : 'inline',
|
|
112
|
+
onVerify: (token) => resolve(token),
|
|
113
|
+
onError: fail,
|
|
114
|
+
onFail: fail,
|
|
115
|
+
})).then((id) => {
|
|
116
|
+
if (invisible && api.execute) {
|
|
117
|
+
Promise.resolve(api.execute(id)).then((token) => {
|
|
118
|
+
if (typeof token === 'string' && token)
|
|
119
|
+
resolve(token);
|
|
120
|
+
}, fail);
|
|
121
|
+
}
|
|
122
|
+
}, fail);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
102
125
|
default:
|
|
103
126
|
reject(new Error(`Captcha provider "${provider}" has no browser widget.`));
|
|
104
127
|
}
|
|
@@ -141,6 +164,13 @@ function captcha(client) {
|
|
|
141
164
|
},
|
|
142
165
|
}).token;
|
|
143
166
|
}
|
|
167
|
+
if (cfg.provider === 'vercel_botid') {
|
|
168
|
+
// No widget: the app's own Vercel route signs a BotID verdict.
|
|
169
|
+
if (!cfg.attestation_url) {
|
|
170
|
+
throw new Error('Vercel BotID needs an attestation URL (captcha.attestationUrl) to fetch a verdict from.');
|
|
171
|
+
}
|
|
172
|
+
return (0, captcha_widget_1.fetchBotIdAttestation)(cfg.attestation_url);
|
|
173
|
+
}
|
|
144
174
|
if (cfg.provider === 'none' || !cfg.site_key) {
|
|
145
175
|
throw new Error(`No renderable captcha provider is configured${action ? ` for "${action}"` : ''}.`);
|
|
146
176
|
}
|
package/dist/captcha.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../src/captcha.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"captcha.js","sourceRoot":"","sources":["../src/captcha.ts"],"names":[],"mappings":";;AAoEA,8CAqBC;AAGD,kDAEC;AA2GD,0BAsDC;AA9OD,mDAA0E;AAC1E,qDAAyD;AAgCzD;;;;GAIG;AACH,MAAM,gBAAgB,GAA2D;IAC/E,QAAQ,EAAE,kDAAkD;IAC5D,SAAS,EAAE,uEAAuE;IAClF,SAAS,EAAE,yDAAyD;IACpE,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CACxB,kDAAkD,kBAAkB,CAAC,OAAO,CAAC,EAAE;IACjF,UAAU,EAAE,mDAAmD;CAChE,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;AAErD,sFAAsF;AACtF,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACjB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACnG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,SAAgB,mBAAmB;IACjC,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAeD,kFAAkF;AAClF,SAAS,YAAY,CACnB,QAAgB,EAChB,OAAe,EACf,OAAoB,EACpB,MAA0B,EAC1B,UAA8C;IAE9C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,CAAC,GAAG,MAAkC,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,KAAK,WAAW,CAAC;IAE7C,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC;gBACvB,IAAI,CAAC,GAAG;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,EAAE,OAAO;oBAChB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;iBACxE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;gBACxB,IAAI,CAAC,GAAG;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,EAAE,OAAO;oBAChB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBACzE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC;gBACzB,IAAI,CAAC,GAAG;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBAC9D,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,EAAE,OAAO;oBAChB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;iBACzE,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,uEAAuE;gBACvE,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC;gBACzB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAC/F,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;oBACb,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CACzE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACjC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAC1F,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC;gBACzB,IAAI,CAAC,GAAG;oBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACrE,OAAO,CAAC,OAAO,CACb,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE;oBAClB,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACrC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC3C,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;iBACb,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBACZ,IAAI,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK;gCAAE,OAAO,CAAC,KAAK,CAAC,CAAC;wBACzD,CAAC,EAAE,IAAI,CAAC,CAAC;oBACX,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,OAAO;YACT,CAAC;YACD;gBACE,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,QAAQ,0BAA0B,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,OAAO,CAAC,MAAkB;IACxC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAe,EAAuC,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM;YACjB,CAAC,CAAC,6BAA6B,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC3D,CAAC,CAAC,oBAAoB,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAsB,IAAI,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,MAAe,EAAuC,EAAE;QAC3F,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAsB,2BAA2B,EAAE;YAC9E,KAAK;YACL,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAoB,EAAE,MAAe,EAAmB,EAAE;QAC/E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QACvE,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,iFAAiF;YACjF,MAAM,IAAI,GAAG,+BAA+B,MAAM,CAAC,CAAC,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACpG,OAAO,IAAA,kCAAkB,EAAC,OAAO,EAAE;gBACjC,IAAI,EAAE,GAAG,CAAC,WAAW;gBACrB,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACnC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAC1B,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAClE,CAAC;oBACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;wBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;oBACnF,OAAO,GAAG,CAAC,IAAI,CAAC;gBAClB,CAAC;aACF,CAAC,CAAC,KAAK,CAAC;QACX,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YACpC,+DAA+D;YAC/D,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;YAC7G,CAAC;YACD,OAAO,IAAA,sCAAqB,EAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,+CAA+C,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,QAAQ,0BAA0B,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpF,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrC,CAAC"}
|
package/dist/compat.d.ts
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
export interface Auth0CompatClientOptions {
|
|
2
|
+
/** The instance publishable key. `clientId` is accepted as an alias. */
|
|
3
|
+
publishableKey?: string;
|
|
4
|
+
/** The instance's Frontend API origin (`https://auth.example.com`). `domain` is accepted as an alias. */
|
|
5
|
+
frontendApi?: string;
|
|
6
|
+
/** auth0-spa-js names, accepted so existing option objects keep working. */
|
|
7
|
+
clientId?: string;
|
|
8
|
+
domain?: string;
|
|
9
|
+
authorizationParams?: {
|
|
10
|
+
redirect_uri?: string;
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
};
|
|
13
|
+
/** Where sign-in happens (default: the instance's hosted page, `<frontendApi>/hosted/sign-in`). */
|
|
14
|
+
signInUrl?: string;
|
|
15
|
+
/** Where sign-up happens (default `<frontendApi>/hosted/sign-up`), used for `screen_hint: 'signup'`. */
|
|
16
|
+
signUpUrl?: string;
|
|
17
|
+
fetchImpl?: typeof fetch;
|
|
18
|
+
[option: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
/** The OIDC-profile user auth0-spa-js's `getUser()` returns. */
|
|
21
|
+
export interface Auth0CompatUser {
|
|
22
|
+
sub: string;
|
|
23
|
+
name?: string;
|
|
24
|
+
given_name?: string;
|
|
25
|
+
family_name?: string;
|
|
26
|
+
nickname?: string;
|
|
27
|
+
picture?: string;
|
|
28
|
+
email?: string;
|
|
29
|
+
email_verified?: boolean;
|
|
30
|
+
[claim: string]: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface Auth0CompatRedirectOptions {
|
|
33
|
+
appState?: unknown;
|
|
34
|
+
authorizationParams?: {
|
|
35
|
+
/** A social provider to go straight to (`github`, `google-oauth2`, …). */
|
|
36
|
+
connection?: string;
|
|
37
|
+
redirect_uri?: string;
|
|
38
|
+
/** `signup` opens the sign-up page. */
|
|
39
|
+
screen_hint?: string;
|
|
40
|
+
[key: string]: unknown;
|
|
41
|
+
};
|
|
42
|
+
/** Called with the URL instead of navigating (auth0-spa-js `openUrl`). */
|
|
43
|
+
openUrl?: (url: string) => void | Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface Auth0CompatLogoutOptions {
|
|
46
|
+
logoutParams?: {
|
|
47
|
+
returnTo?: string;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
};
|
|
50
|
+
/** `false` signs out without navigating; a function receives the URL instead. */
|
|
51
|
+
openUrl?: false | ((url: string) => void | Promise<void>);
|
|
52
|
+
}
|
|
53
|
+
export interface Auth0CompatTokenOptions {
|
|
54
|
+
/** `'off'` always mints a fresh token. */
|
|
55
|
+
cacheMode?: 'on' | 'off' | 'cache-only';
|
|
56
|
+
/** Resolve `{ access_token, id_token, expires_in }` instead of the token string. */
|
|
57
|
+
detailedResponse?: boolean;
|
|
58
|
+
/** An Atlas JWT template name, for a named-template token. */
|
|
59
|
+
template?: string;
|
|
60
|
+
authorizationParams?: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
/** auth0-spa-js-style errors: `error` carries the OAuth-ish code apps branch on. */
|
|
63
|
+
export declare class Auth0CompatError extends Error {
|
|
64
|
+
readonly error: 'login_required' | 'popup_closed' | 'popup_blocked' | 'timeout' | 'missing_transaction' | 'start_failed';
|
|
65
|
+
constructor(error: 'login_required' | 'popup_closed' | 'popup_blocked' | 'timeout' | 'missing_transaction' | 'start_failed', message: string);
|
|
66
|
+
}
|
|
67
|
+
interface AtlasClientBody {
|
|
68
|
+
session: {
|
|
69
|
+
id: string;
|
|
70
|
+
} | null;
|
|
71
|
+
user: {
|
|
72
|
+
id: string;
|
|
73
|
+
first_name: string | null;
|
|
74
|
+
last_name: string | null;
|
|
75
|
+
username: string | null;
|
|
76
|
+
image_url: string | null;
|
|
77
|
+
email_addresses?: Array<{
|
|
78
|
+
email_address: string;
|
|
79
|
+
verified: boolean;
|
|
80
|
+
primary: boolean;
|
|
81
|
+
}>;
|
|
82
|
+
} | null;
|
|
83
|
+
jwt?: string;
|
|
84
|
+
}
|
|
85
|
+
/** Decode a JWT's payload (no verification: it came from our own FAPI). */
|
|
86
|
+
export declare function decodeJwtPayload(jwt: string): Record<string, unknown> | null;
|
|
87
|
+
/** Project the Frontend API user onto the OIDC profile shape. */
|
|
88
|
+
export declare function auth0UserFromClient(user: AtlasClientBody['user']): Auth0CompatUser | undefined;
|
|
89
|
+
/** The auth0-spa-js `Auth0Client`, on Atlas. */
|
|
90
|
+
export declare class Auth0CompatClient {
|
|
91
|
+
readonly publishableKey: string;
|
|
92
|
+
readonly frontendApi: string;
|
|
93
|
+
private readonly fapi;
|
|
94
|
+
private readonly raw;
|
|
95
|
+
private readonly options;
|
|
96
|
+
private state;
|
|
97
|
+
private token;
|
|
98
|
+
constructor(options: Auth0CompatClientOptions);
|
|
99
|
+
private signInUrl;
|
|
100
|
+
/** Read the Frontend API client state (session, user, token). */
|
|
101
|
+
private load;
|
|
102
|
+
private keepToken;
|
|
103
|
+
/** `checkSession()`: refresh the local view of the session; never throws. */
|
|
104
|
+
checkSession(): Promise<void>;
|
|
105
|
+
isAuthenticated(): Promise<boolean>;
|
|
106
|
+
getUser<TUser extends Auth0CompatUser = Auth0CompatUser>(): Promise<TUser | undefined>;
|
|
107
|
+
getIdTokenClaims(): Promise<(Record<string, unknown> & {
|
|
108
|
+
__raw: string;
|
|
109
|
+
}) | undefined>;
|
|
110
|
+
/** The Atlas session token (or a named-template token), refreshed when close to expiry. */
|
|
111
|
+
getTokenSilently(options: Auth0CompatTokenOptions & {
|
|
112
|
+
detailedResponse: true;
|
|
113
|
+
}): Promise<{
|
|
114
|
+
access_token: string;
|
|
115
|
+
id_token: string;
|
|
116
|
+
expires_in: number;
|
|
117
|
+
}>;
|
|
118
|
+
getTokenSilently(options?: Auth0CompatTokenOptions): Promise<string>;
|
|
119
|
+
/** Sign in in a popup when needed, then return a token. */
|
|
120
|
+
getTokenWithPopup(options?: Auth0CompatTokenOptions & Auth0CompatRedirectOptions): Promise<string | undefined>;
|
|
121
|
+
/**
|
|
122
|
+
* Navigate to sign-in. With `authorizationParams.connection` the user goes
|
|
123
|
+
* straight to that social provider; otherwise to the instance's hosted page.
|
|
124
|
+
* `appState` comes back from {@link handleRedirectCallback}.
|
|
125
|
+
*/
|
|
126
|
+
loginWithRedirect(options?: Auth0CompatRedirectOptions): Promise<void>;
|
|
127
|
+
/**
|
|
128
|
+
* Finish a redirect sign-in on the page you came back to: exchanges the
|
|
129
|
+
* one-time ticket in the URL (if any), removes it from the address bar, and
|
|
130
|
+
* returns the `appState` passed to `loginWithRedirect`.
|
|
131
|
+
*/
|
|
132
|
+
handleRedirectCallback(url?: string): Promise<{
|
|
133
|
+
appState?: unknown;
|
|
134
|
+
}>;
|
|
135
|
+
/**
|
|
136
|
+
* Sign in in a popup: straight at a social provider with
|
|
137
|
+
* `authorizationParams.connection`, otherwise the hosted sign-in page (this
|
|
138
|
+
* waits until a session appears or the popup is closed, up to 5 minutes).
|
|
139
|
+
*/
|
|
140
|
+
loginWithPopup(options?: Auth0CompatRedirectOptions & {
|
|
141
|
+
timeoutInSeconds?: number;
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
private isSignedInNow;
|
|
144
|
+
/** Sign out (revokes the Atlas session), then go to `logoutParams.returnTo` (default: this site). */
|
|
145
|
+
logout(options?: Auth0CompatLogoutOptions): Promise<void>;
|
|
146
|
+
}
|
|
147
|
+
/** `createAuth0Client(options)`: a client that has already checked the session. */
|
|
148
|
+
export declare function createAuth0CompatClient(options: Auth0CompatClientOptions): Promise<Auth0CompatClient>;
|
|
149
|
+
export {};
|