@atlasauth/js 0.10.0 → 0.12.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 +40 -0
- package/dist/atlas-captcha.d.ts +108 -0
- package/dist/atlas-captcha.js +315 -0
- package/dist/atlas-captcha.js.map +1 -0
- package/dist/captcha-controller.d.ts +11 -1
- package/dist/captcha-controller.js +5 -3
- package/dist/captcha-controller.js.map +1 -1
- package/dist/captcha-widget.d.ts +21 -2
- package/dist/captcha-widget.js +23 -11
- package/dist/captcha-widget.js.map +1 -1
- package/dist/captcha.js +14 -0
- package/dist/captcha.js.map +1 -1
- package/dist/fapi.d.ts +29 -0
- package/dist/fapi.js +30 -0
- package/dist/fapi.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/initial-state.d.ts +34 -0
- package/dist/initial-state.js +53 -0
- package/dist/initial-state.js.map +1 -0
- package/dist/instance-settings.js +4 -0
- package/dist/instance-settings.js.map +1 -1
- package/dist/sdk-advisory.d.ts +44 -0
- package/dist/sdk-advisory.js +69 -0
- package/dist/sdk-advisory.js.map +1 -0
- package/dist/sign-out-events.d.ts +54 -0
- package/dist/sign-out-events.js +97 -0
- package/dist/sign-out-events.js.map +1 -0
- package/dist/version.d.ts +7 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/package.json +1 -1
package/dist/captcha-widget.js
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CAPTCHA_ERROR_CODES = void 0;
|
|
4
|
+
exports.isRenderableCaptcha = isRenderableCaptcha;
|
|
5
|
+
exports.flowNeedsCaptcha = flowNeedsCaptcha;
|
|
6
|
+
exports.isCaptchaError = isCaptchaError;
|
|
7
|
+
exports.loadCaptchaProvider = loadCaptchaProvider;
|
|
8
|
+
exports.renderCaptchaWidget = renderCaptchaWidget;
|
|
9
|
+
exports.getCaptchaToken = getCaptchaToken;
|
|
2
10
|
/**
|
|
3
11
|
* Per-flow captcha rendering for the prebuilt sign-in / sign-up surfaces.
|
|
4
12
|
*
|
|
@@ -19,17 +27,14 @@
|
|
|
19
27
|
*
|
|
20
28
|
* Everything is SSR-safe: nothing touches `window`/`document` until a call that
|
|
21
29
|
* renders into a DOM element.
|
|
30
|
+
*
|
|
31
|
+
* Provider `atlas` is Atlas's own captcha: no vendor script, no site key (see
|
|
32
|
+
* `atlas-captcha.ts`).
|
|
22
33
|
*/
|
|
23
|
-
|
|
24
|
-
exports.CAPTCHA_ERROR_CODES = void 0;
|
|
25
|
-
exports.isRenderableCaptcha = isRenderableCaptcha;
|
|
26
|
-
exports.flowNeedsCaptcha = flowNeedsCaptcha;
|
|
27
|
-
exports.isCaptchaError = isCaptchaError;
|
|
28
|
-
exports.loadCaptchaProvider = loadCaptchaProvider;
|
|
29
|
-
exports.renderCaptchaWidget = renderCaptchaWidget;
|
|
30
|
-
exports.getCaptchaToken = getCaptchaToken;
|
|
34
|
+
const atlas_captcha_1 = require("./atlas-captcha");
|
|
31
35
|
/** The providers the prebuilt UIs can natively render. */
|
|
32
36
|
const RENDERABLE = new Set([
|
|
37
|
+
'atlas',
|
|
33
38
|
'turnstile',
|
|
34
39
|
'hcaptcha',
|
|
35
40
|
'recaptcha',
|
|
@@ -200,8 +205,15 @@ function recaptchaV3Token(api, siteKey) {
|
|
|
200
205
|
* `container` is where a visible/managed widget draws; score providers draw
|
|
201
206
|
* nothing there.
|
|
202
207
|
*/
|
|
203
|
-
function renderCaptchaWidget(flow, container) {
|
|
208
|
+
function renderCaptchaWidget(flow, container, options = {}) {
|
|
204
209
|
const provider = flow.provider ?? '';
|
|
210
|
+
if (provider === 'atlas') {
|
|
211
|
+
return (0, atlas_captcha_1.renderAtlasCaptcha)(container, {
|
|
212
|
+
challengeUrl: flow.challengeUrl,
|
|
213
|
+
mode: flow.widget ?? 'managed',
|
|
214
|
+
...options.atlas,
|
|
215
|
+
});
|
|
216
|
+
}
|
|
205
217
|
const siteKey = flow.siteKey ?? '';
|
|
206
218
|
const mode = flow.widget ?? 'managed';
|
|
207
219
|
const win = (container.ownerDocument?.defaultView ?? globalThis);
|
|
@@ -257,7 +269,7 @@ function renderCaptchaWidget(flow, container) {
|
|
|
257
269
|
* whether to surface it or let the (fail-closed) server reject the tokenless
|
|
258
270
|
* request.
|
|
259
271
|
*/
|
|
260
|
-
async function getCaptchaToken(flow, container) {
|
|
261
|
-
return renderCaptchaWidget(flow, container).token;
|
|
272
|
+
async function getCaptchaToken(flow, container, options) {
|
|
273
|
+
return renderCaptchaWidget(flow, container, options).token;
|
|
262
274
|
}
|
|
263
275
|
//# sourceMappingURL=captcha-widget.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captcha-widget.js","sourceRoot":"","sources":["../src/captcha-widget.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"captcha-widget.js","sourceRoot":"","sources":["../src/captcha-widget.ts"],"names":[],"mappings":"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"}
|
package/dist/captcha.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.loadCaptchaScript = loadCaptchaScript;
|
|
4
4
|
exports.resetCaptchaScripts = resetCaptchaScripts;
|
|
5
5
|
exports.captcha = captcha;
|
|
6
|
+
const atlas_captcha_1 = require("./atlas-captcha");
|
|
6
7
|
/**
|
|
7
8
|
* The widget CDN script per provider. A string is a fixed URL (rendered
|
|
8
9
|
* explicitly); a function builds the URL from the site key (reCAPTCHA v3 embeds
|
|
@@ -127,6 +128,19 @@ function captcha(client) {
|
|
|
127
128
|
const cfg = await config(action);
|
|
128
129
|
if (!cfg)
|
|
129
130
|
throw new Error('Could not load the captcha configuration.');
|
|
131
|
+
if (cfg.provider === 'atlas') {
|
|
132
|
+
// Atlas's own captcha: no site key, the challenge comes from this client's FAPI.
|
|
133
|
+
const path = `/v1/client/captcha/challenge${action ? `?action=${encodeURIComponent(action)}` : ''}`;
|
|
134
|
+
return (0, atlas_captcha_1.renderAtlasCaptcha)(element, {
|
|
135
|
+
mode: cfg.widget_mode,
|
|
136
|
+
fetchChallenge: async (accessible) => {
|
|
137
|
+
const res = await client.get(accessible ? `${path}${action ? '&' : '?'}accessible=true` : path);
|
|
138
|
+
if (!res.ok || !res.data)
|
|
139
|
+
throw new Error('Could not load the captcha challenge.');
|
|
140
|
+
return res.data;
|
|
141
|
+
},
|
|
142
|
+
}).token;
|
|
143
|
+
}
|
|
130
144
|
if (cfg.provider === 'none' || !cfg.site_key) {
|
|
131
145
|
throw new Error(`No renderable captcha provider is configured${action ? ` for "${action}"` : ''}.`);
|
|
132
146
|
}
|
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":"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"}
|
package/dist/fapi.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AttemptView, type FieldError } from './attempt';
|
|
2
|
+
import { type AtlasSdkInfo } from './sdk-advisory';
|
|
2
3
|
/**
|
|
3
4
|
* The FAPI client and the sign-in flow driver.
|
|
4
5
|
*
|
|
@@ -26,6 +27,12 @@ export interface FapiClientOptions {
|
|
|
26
27
|
* (the browser's own `Accept-Language` applies). A malformed tag is ignored.
|
|
27
28
|
*/
|
|
28
29
|
locale?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Which SDK is calling, sent as `X-Atlas-SDK` so the Frontend API can answer
|
|
32
|
+
* an upgrade advisory (logged once per page load). Framework SDKs pass their
|
|
33
|
+
* own package; defaults to `@atlasauth/js`.
|
|
34
|
+
*/
|
|
35
|
+
sdk?: AtlasSdkInfo;
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* A locale tag normalised for the `Accept-Language` header (`pt_BR` → `pt-BR`),
|
|
@@ -79,6 +86,28 @@ export interface ProviderToken {
|
|
|
79
86
|
* handed back is always live.
|
|
80
87
|
*/
|
|
81
88
|
export declare function getProviderToken(client: FapiClient, provider: string): Promise<ProviderToken | null>;
|
|
89
|
+
/**
|
|
90
|
+
* `getToken({ template })` for a session: a short-lived JWT minted from a named
|
|
91
|
+
* JWT template (or a built-in preset such as `chatly`, for a support-chat
|
|
92
|
+
* identity), for the session the browser's cookie carries. The refresh cookie is
|
|
93
|
+
* presented, never rotated. Null when the instance has no such template or the
|
|
94
|
+
* session is gone.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getTemplateToken(client: FapiClient, sessionId: string, template: string): Promise<{
|
|
97
|
+
jwt: string;
|
|
98
|
+
expiresIn: number;
|
|
99
|
+
} | null>;
|
|
100
|
+
/**
|
|
101
|
+
* The signed-in user's Forumulate reader token for a connected space, and where
|
|
102
|
+
* the reader's browser redeems it. Null without a session or a connection.
|
|
103
|
+
*/
|
|
104
|
+
export declare function getForumulateReaderToken(client: FapiClient, spaceId?: string): Promise<{
|
|
105
|
+
jwt: string;
|
|
106
|
+
expiresIn: number;
|
|
107
|
+
orgId: string;
|
|
108
|
+
spaceId: string;
|
|
109
|
+
redeemUrl: string;
|
|
110
|
+
} | null>;
|
|
82
111
|
export interface FlowState {
|
|
83
112
|
attempt: AttemptView | null;
|
|
84
113
|
errors: FieldError[];
|
package/dist/fapi.js
CHANGED
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.initialFlow = exports.FapiClient = void 0;
|
|
4
4
|
exports.acceptLanguageFor = acceptLanguageFor;
|
|
5
5
|
exports.getProviderToken = getProviderToken;
|
|
6
|
+
exports.getTemplateToken = getTemplateToken;
|
|
7
|
+
exports.getForumulateReaderToken = getForumulateReaderToken;
|
|
6
8
|
exports.requestForStep = requestForStep;
|
|
7
9
|
exports.flowFromPending = flowFromPending;
|
|
8
10
|
exports.advance = advance;
|
|
@@ -11,6 +13,7 @@ exports.prepareFactor = prepareFactor;
|
|
|
11
13
|
exports.pollAttempt = pollAttempt;
|
|
12
14
|
exports.shouldKeepPolling = shouldKeepPolling;
|
|
13
15
|
const attempt_1 = require("./attempt");
|
|
16
|
+
const sdk_advisory_1 = require("./sdk-advisory");
|
|
14
17
|
/**
|
|
15
18
|
* A locale tag normalised for the `Accept-Language` header (`pt_BR` → `pt-BR`),
|
|
16
19
|
* or null when it is not a plausible BCP-47 tag. Restricting it to letters,
|
|
@@ -51,6 +54,7 @@ class FapiClient {
|
|
|
51
54
|
async request(path, init = {}) {
|
|
52
55
|
const doFetch = this.options.fetchImpl ?? fetch;
|
|
53
56
|
const language = this.locale;
|
|
57
|
+
const sdk = this.options.sdk ?? sdk_advisory_1.ATLAS_JS_SDK;
|
|
54
58
|
let response;
|
|
55
59
|
try {
|
|
56
60
|
response = await doFetch(`${this.options.baseUrl ?? ''}${path}`, {
|
|
@@ -60,6 +64,7 @@ class FapiClient {
|
|
|
60
64
|
credentials: 'include',
|
|
61
65
|
headers: {
|
|
62
66
|
'x-publishable-key': this.options.publishableKey,
|
|
67
|
+
[sdk_advisory_1.SDK_HEADER]: (0, sdk_advisory_1.sdkHeaderValue)(sdk),
|
|
63
68
|
...(language ? { 'accept-language': language } : {}),
|
|
64
69
|
...(init.body ? { 'content-type': 'application/json' } : {}),
|
|
65
70
|
...init.headers,
|
|
@@ -79,6 +84,7 @@ class FapiClient {
|
|
|
79
84
|
errors: [{ code: 'NETWORK', reason: 'network', message: 'We could not reach the server.' }],
|
|
80
85
|
};
|
|
81
86
|
}
|
|
87
|
+
(0, sdk_advisory_1.reportSdkAdvisory)(response, sdk);
|
|
82
88
|
let body = null;
|
|
83
89
|
try {
|
|
84
90
|
body = await response.json();
|
|
@@ -123,6 +129,30 @@ async function getProviderToken(client, provider) {
|
|
|
123
129
|
scopes: response.data.scopes ?? [],
|
|
124
130
|
};
|
|
125
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* `getToken({ template })` for a session: a short-lived JWT minted from a named
|
|
134
|
+
* JWT template (or a built-in preset such as `chatly`, for a support-chat
|
|
135
|
+
* identity), for the session the browser's cookie carries. The refresh cookie is
|
|
136
|
+
* presented, never rotated. Null when the instance has no such template or the
|
|
137
|
+
* session is gone.
|
|
138
|
+
*/
|
|
139
|
+
async function getTemplateToken(client, sessionId, template) {
|
|
140
|
+
const response = await client.post(`/v1/client/sessions/${encodeURIComponent(sessionId)}/tokens/${encodeURIComponent(template)}`);
|
|
141
|
+
if (!response.ok || !response.data?.jwt)
|
|
142
|
+
return null;
|
|
143
|
+
return { jwt: response.data.jwt, expiresIn: response.data.expires_in };
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* The signed-in user's Forumulate reader token for a connected space, and where
|
|
147
|
+
* the reader's browser redeems it. Null without a session or a connection.
|
|
148
|
+
*/
|
|
149
|
+
async function getForumulateReaderToken(client, spaceId) {
|
|
150
|
+
const response = await client.get(`/v1/client/forumulate/reader_token${spaceId ? `?space_id=${encodeURIComponent(spaceId)}` : ''}`);
|
|
151
|
+
if (!response.ok || !response.data?.jwt)
|
|
152
|
+
return null;
|
|
153
|
+
const d = response.data;
|
|
154
|
+
return { jwt: d.jwt, expiresIn: d.expires_in, orgId: d.org_id, spaceId: d.space_id, redeemUrl: d.redeem_url };
|
|
155
|
+
}
|
|
126
156
|
exports.initialFlow = {
|
|
127
157
|
attempt: null,
|
|
128
158
|
errors: [],
|
package/dist/fapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fapi.js","sourceRoot":"","sources":["../src/fapi.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"fapi.js","sourceRoot":"","sources":["../src/fapi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,10 +5,14 @@ export * from './token-cache';
|
|
|
5
5
|
export * from './tab-election';
|
|
6
6
|
export * from './attempt';
|
|
7
7
|
export * from './first-factor';
|
|
8
|
+
export * from './initial-state';
|
|
8
9
|
export * from './errors';
|
|
9
10
|
export * from './redirect';
|
|
10
11
|
export * from './popup-channel';
|
|
11
12
|
export * from './fapi';
|
|
13
|
+
export * from './sdk-advisory';
|
|
14
|
+
export * from './version';
|
|
15
|
+
export * from './sign-out-events';
|
|
12
16
|
export * from './native';
|
|
13
17
|
export * from './native-session';
|
|
14
18
|
export * from './passkey';
|
|
@@ -23,6 +27,7 @@ export * from './check-session';
|
|
|
23
27
|
export * from './frontchannel-logout';
|
|
24
28
|
export * from './captcha';
|
|
25
29
|
export * from './captcha-widget';
|
|
30
|
+
export * from './atlas-captcha';
|
|
26
31
|
export * from './captcha-controller';
|
|
27
32
|
export * from './instance-settings';
|
|
28
33
|
export * from './environment';
|
package/dist/index.js
CHANGED
|
@@ -24,12 +24,18 @@ __exportStar(require("./token-cache"), exports);
|
|
|
24
24
|
__exportStar(require("./tab-election"), exports);
|
|
25
25
|
__exportStar(require("./attempt"), exports);
|
|
26
26
|
__exportStar(require("./first-factor"), exports);
|
|
27
|
+
__exportStar(require("./initial-state"), exports);
|
|
27
28
|
// Server errors in the app's language (`error.<reason>` catalog keys).
|
|
28
29
|
__exportStar(require("./errors"), exports);
|
|
29
30
|
__exportStar(require("./redirect"), exports);
|
|
30
31
|
// §oauth popup mode: the same-origin hand-back for a popup whose opener was severed.
|
|
31
32
|
__exportStar(require("./popup-channel"), exports);
|
|
32
33
|
__exportStar(require("./fapi"), exports);
|
|
34
|
+
// SDK version advisories (`X-Atlas-SDK` / `Atlas-SDK-Advisory`).
|
|
35
|
+
__exportStar(require("./sdk-advisory"), exports);
|
|
36
|
+
__exportStar(require("./version"), exports);
|
|
37
|
+
// `onSignOut({ reason })` for every sign-out path, and the `atlas:signout` window event.
|
|
38
|
+
__exportStar(require("./sign-out-events"), exports);
|
|
33
39
|
__exportStar(require("./native"), exports);
|
|
34
40
|
__exportStar(require("./native-session"), exports);
|
|
35
41
|
__exportStar(require("./passkey"), exports);
|
|
@@ -49,6 +55,8 @@ __exportStar(require("./frontchannel-logout"), exports);
|
|
|
49
55
|
__exportStar(require("./captcha"), exports);
|
|
50
56
|
// Per-flow captcha widget rendering shared by the prebuilt sign-in / sign-up UIs.
|
|
51
57
|
__exportStar(require("./captcha-widget"), exports);
|
|
58
|
+
// Atlas's own captcha (provider `atlas`): challenge fetch, proof-of-work solver, puzzle UI.
|
|
59
|
+
__exportStar(require("./atlas-captcha"), exports);
|
|
52
60
|
// The framework-agnostic captcha lifecycle + sign-in / sign-up submit helpers the
|
|
53
61
|
// prebuilt forms of every framework SDK share, and the instance's public
|
|
54
62
|
// sign-in / sign-up settings (`/v1/appearance`) they are driven by.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6EAA6E;AAC7E,2CAAyB;AACzB,6CAA2B;AAC3B,sFAAsF;AACtF,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,iDAA+B;AAC/B,uEAAuE;AACvE,2CAAyB;AACzB,6CAA2B;AAC3B,qFAAqF;AACrF,kDAAgC;AAChC,yCAAuB;AACvB,2CAAyB;AACzB,mDAAiC;AACjC,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,8CAA4B;AAC5B,2CAAyB;AACzB,4DAA4D;AAC5D,6CAA2B;AAC3B,4CAA0B;AAC1B,mDAAiC;AACjC,kDAAgC;AAChC,sDAAsD;AACtD,wDAAsC;AACtC,+EAA+E;AAC/E,2EAA2E;AAC3E,4CAA0B;AAC1B,kFAAkF;AAClF,mDAAiC;AACjC,kFAAkF;AAClF,yEAAyE;AACzE,oEAAoE;AACpE,uDAAqC;AACrC,sDAAoC;AACpC,uEAAuE;AACvE,gDAA8B;AAC9B,0EAA0E;AAC1E,4EAA4E;AAC5E,0CAa0B;AARxB,iGAAA,QAAQ,OAAA;AACR,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AACjB,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA;AACtB,kGAAA,SAAS,OAAA;AACT,wGAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6EAA6E;AAC7E,2CAAyB;AACzB,6CAA2B;AAC3B,sFAAsF;AACtF,mDAAiC;AACjC,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,iDAA+B;AAC/B,kDAAgC;AAChC,uEAAuE;AACvE,2CAAyB;AACzB,6CAA2B;AAC3B,qFAAqF;AACrF,kDAAgC;AAChC,yCAAuB;AACvB,iEAAiE;AACjE,iDAA+B;AAC/B,4CAA0B;AAC1B,yFAAyF;AACzF,oDAAkC;AAClC,2CAAyB;AACzB,mDAAiC;AACjC,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,8CAA4B;AAC5B,2CAAyB;AACzB,4DAA4D;AAC5D,6CAA2B;AAC3B,4CAA0B;AAC1B,mDAAiC;AACjC,kDAAgC;AAChC,sDAAsD;AACtD,wDAAsC;AACtC,+EAA+E;AAC/E,2EAA2E;AAC3E,4CAA0B;AAC1B,kFAAkF;AAClF,mDAAiC;AACjC,4FAA4F;AAC5F,kDAAgC;AAChC,kFAAkF;AAClF,yEAAyE;AACzE,oEAAoE;AACpE,uDAAqC;AACrC,sDAAoC;AACpC,uEAAuE;AACvE,gDAA8B;AAC9B,0EAA0E;AAC1E,4EAA4E;AAC5E,0CAa0B;AARxB,iGAAA,QAAQ,OAAA;AACR,sGAAA,aAAa,OAAA;AACb,0GAAA,iBAAiB,OAAA;AACjB,uGAAA,cAAc,OAAA;AACd,yGAAA,gBAAgB,OAAA;AAChB,+GAAA,sBAAsB,OAAA;AACtB,kGAAA,SAAS,OAAA;AACT,wGAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The public, per-instance data a sign-in panel needs before it can paint: the
|
|
3
|
+
* dashboard design and sign-in settings (`GET /v1/appearance`) and the enabled
|
|
4
|
+
* sign-in methods and social buttons (`GET /v1/client/environment`).
|
|
5
|
+
*
|
|
6
|
+
* Fetched on the SERVER and handed to the provider (`initialState`), the panel
|
|
7
|
+
* renders fully styled, with its social buttons, in the first HTML — no
|
|
8
|
+
* round trips from the browser before it looks right. Both responses are public
|
|
9
|
+
* and identical for every visitor of an instance, so they cache well.
|
|
10
|
+
*
|
|
11
|
+
* Never throws: a part that can't be fetched is left out and the browser fetches
|
|
12
|
+
* it as before, so a slow or unreachable API can't break the page render.
|
|
13
|
+
*/
|
|
14
|
+
export interface AtlasInitialState {
|
|
15
|
+
/** The raw `GET /v1/appearance` body. */
|
|
16
|
+
appearance?: unknown;
|
|
17
|
+
/** The raw `GET /v1/client/environment` body. */
|
|
18
|
+
environment?: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface FetchInitialStateOptions {
|
|
21
|
+
publishableKey: string;
|
|
22
|
+
/** The Frontend API origin, e.g. `https://auth.example.com`. */
|
|
23
|
+
frontendApi: string;
|
|
24
|
+
/** Defaults to the global `fetch`. */
|
|
25
|
+
fetchImpl?: typeof fetch;
|
|
26
|
+
/**
|
|
27
|
+
* Extra `fetch` options for both requests — e.g. `{ next: { revalidate: 60 } }`
|
|
28
|
+
* on Next.js to cache them between renders.
|
|
29
|
+
*/
|
|
30
|
+
init?: RequestInit & Record<string, unknown>;
|
|
31
|
+
/** Give up on a request after this long and leave it to the browser. Default 1500 ms. */
|
|
32
|
+
timeoutMs?: number;
|
|
33
|
+
}
|
|
34
|
+
export declare function fetchAtlasInitialState(options: FetchInitialStateOptions): Promise<AtlasInitialState>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The public, per-instance data a sign-in panel needs before it can paint: the
|
|
4
|
+
* dashboard design and sign-in settings (`GET /v1/appearance`) and the enabled
|
|
5
|
+
* sign-in methods and social buttons (`GET /v1/client/environment`).
|
|
6
|
+
*
|
|
7
|
+
* Fetched on the SERVER and handed to the provider (`initialState`), the panel
|
|
8
|
+
* renders fully styled, with its social buttons, in the first HTML — no
|
|
9
|
+
* round trips from the browser before it looks right. Both responses are public
|
|
10
|
+
* and identical for every visitor of an instance, so they cache well.
|
|
11
|
+
*
|
|
12
|
+
* Never throws: a part that can't be fetched is left out and the browser fetches
|
|
13
|
+
* it as before, so a slow or unreachable API can't break the page render.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.fetchAtlasInitialState = fetchAtlasInitialState;
|
|
17
|
+
async function fetchAtlasInitialState(options) {
|
|
18
|
+
const doFetch = options.fetchImpl ?? (typeof fetch === 'function' ? fetch : undefined);
|
|
19
|
+
if (!doFetch || !options.publishableKey || !options.frontendApi)
|
|
20
|
+
return {};
|
|
21
|
+
const base = options.frontendApi.replace(/\/+$/, '');
|
|
22
|
+
const timeoutMs = options.timeoutMs ?? 1500;
|
|
23
|
+
const get = async (path) => {
|
|
24
|
+
const controller = typeof AbortController === 'function' ? new AbortController() : null;
|
|
25
|
+
const timer = controller ? setTimeout(() => controller.abort(), timeoutMs) : null;
|
|
26
|
+
try {
|
|
27
|
+
const res = await doFetch(`${base}${path}`, {
|
|
28
|
+
...options.init,
|
|
29
|
+
method: 'GET',
|
|
30
|
+
headers: { accept: 'application/json', 'x-publishable-key': options.publishableKey },
|
|
31
|
+
...(controller ? { signal: controller.signal } : {}),
|
|
32
|
+
});
|
|
33
|
+
if (!res.ok)
|
|
34
|
+
return undefined;
|
|
35
|
+
return (await res.json());
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
if (timer)
|
|
42
|
+
clearTimeout(timer);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
const [appearance, environment] = await Promise.all([get('/v1/appearance'), get('/v1/client/environment')]);
|
|
46
|
+
const state = {};
|
|
47
|
+
if (appearance && typeof appearance === 'object')
|
|
48
|
+
state.appearance = appearance;
|
|
49
|
+
if (environment && typeof environment === 'object')
|
|
50
|
+
state.environment = environment;
|
|
51
|
+
return state;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=initial-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../src/initial-state.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAwBH,wDA8BC;AA9BM,KAAK,UAAU,sBAAsB,CAAC,OAAiC;IAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAE5C,MAAM,GAAG,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;QACnD,MAAM,UAAU,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;gBAC1C,GAAG,OAAO,CAAC,IAAI;gBACf,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,OAAO,CAAC,cAAc,EAAE;gBACpF,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrD,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,SAAS,CAAC;YAC9B,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAY,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC5G,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IAChF,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACpF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -27,6 +27,10 @@ function instanceSettingsFrom(body) {
|
|
|
27
27
|
...(flow.widget === 'invisible' || flow.widget === 'managed' || flow.widget === 'visible'
|
|
28
28
|
? { widget: flow.widget }
|
|
29
29
|
: {}),
|
|
30
|
+
// Atlas's own captcha: where to fetch each challenge.
|
|
31
|
+
...(typeof flow.challengeUrl === 'string' && /^https?:\/\//.test(flow.challengeUrl)
|
|
32
|
+
? { challengeUrl: flow.challengeUrl }
|
|
33
|
+
: {}),
|
|
30
34
|
};
|
|
31
35
|
}
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-settings.js","sourceRoot":"","sources":["../src/instance-settings.ts"],"names":[],"mappings":";;AA6DA,
|
|
1
|
+
{"version":3,"file":"instance-settings.js","sourceRoot":"","sources":["../src/instance-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDK version advisories.
|
|
3
|
+
*
|
|
4
|
+
* Every Atlas browser SDK names itself on its Frontend API requests
|
|
5
|
+
* (`X-Atlas-SDK: @atlasauth/react/0.10.0`). When that version has a known bug
|
|
6
|
+
* fixed in a later release, the response carries
|
|
7
|
+
* `Atlas-SDK-Advisory: upgrade; min=0.8.1; reason=email_code_sign_in` (several
|
|
8
|
+
* comma-separated), and the SDK logs ONE console warning per advisory per page
|
|
9
|
+
* load, so a pinned 0.x version (the caret trap: `^0.8.0` never moves past a
|
|
10
|
+
* lockfile's 0.8.0) is noticed by whoever opens the console.
|
|
11
|
+
*/
|
|
12
|
+
/** Which SDK a request comes from. */
|
|
13
|
+
export interface AtlasSdkInfo {
|
|
14
|
+
/** The npm package, e.g. `@atlasauth/react`. */
|
|
15
|
+
name: string;
|
|
16
|
+
version: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const ATLAS_JS_SDK: AtlasSdkInfo;
|
|
19
|
+
/** The request header naming the SDK. */
|
|
20
|
+
export declare const SDK_HEADER = "x-atlas-sdk";
|
|
21
|
+
/** The response header carrying advisories (exposed to cross-origin SDKs by the Frontend API). */
|
|
22
|
+
export declare const SDK_ADVISORY_HEADER = "atlas-sdk-advisory";
|
|
23
|
+
/** `@atlasauth/react/0.10.0`. */
|
|
24
|
+
export declare function sdkHeaderValue(sdk: AtlasSdkInfo): string;
|
|
25
|
+
export interface SdkAdvisoryNotice {
|
|
26
|
+
action: string;
|
|
27
|
+
/** The first version that fixes it. */
|
|
28
|
+
min: string | null;
|
|
29
|
+
reason: string | null;
|
|
30
|
+
}
|
|
31
|
+
/** Parse an `Atlas-SDK-Advisory` value; unknown parameters are ignored, garbage yields []. */
|
|
32
|
+
export declare function parseSdkAdvisory(value: string | null | undefined): SdkAdvisoryNotice[];
|
|
33
|
+
/** Test hook: forget what has been logged, as a new page load would. */
|
|
34
|
+
export declare function resetSdkAdvisoryLog(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Read a response's advisory header and warn once per page load per advisory.
|
|
37
|
+
* Never throws; a response without the header (or a server that does not send
|
|
38
|
+
* it) does nothing. Returns the advisories newly logged.
|
|
39
|
+
*/
|
|
40
|
+
export declare function reportSdkAdvisory(response: {
|
|
41
|
+
headers?: {
|
|
42
|
+
get(name: string): string | null;
|
|
43
|
+
};
|
|
44
|
+
} | null | undefined, sdk: AtlasSdkInfo, warn?: (message: string) => void): SdkAdvisoryNotice[];
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SDK_ADVISORY_HEADER = exports.SDK_HEADER = exports.ATLAS_JS_SDK = void 0;
|
|
4
|
+
exports.sdkHeaderValue = sdkHeaderValue;
|
|
5
|
+
exports.parseSdkAdvisory = parseSdkAdvisory;
|
|
6
|
+
exports.resetSdkAdvisoryLog = resetSdkAdvisoryLog;
|
|
7
|
+
exports.reportSdkAdvisory = reportSdkAdvisory;
|
|
8
|
+
const version_1 = require("./version");
|
|
9
|
+
exports.ATLAS_JS_SDK = { name: '@atlasauth/js', version: version_1.ATLAS_JS_VERSION };
|
|
10
|
+
/** The request header naming the SDK. */
|
|
11
|
+
exports.SDK_HEADER = 'x-atlas-sdk';
|
|
12
|
+
/** The response header carrying advisories (exposed to cross-origin SDKs by the Frontend API). */
|
|
13
|
+
exports.SDK_ADVISORY_HEADER = 'atlas-sdk-advisory';
|
|
14
|
+
/** `@atlasauth/react/0.10.0`. */
|
|
15
|
+
function sdkHeaderValue(sdk) {
|
|
16
|
+
return `${sdk.name}/${sdk.version}`;
|
|
17
|
+
}
|
|
18
|
+
/** Parse an `Atlas-SDK-Advisory` value; unknown parameters are ignored, garbage yields []. */
|
|
19
|
+
function parseSdkAdvisory(value) {
|
|
20
|
+
if (typeof value !== 'string' || !value.trim())
|
|
21
|
+
return [];
|
|
22
|
+
return value
|
|
23
|
+
.split(',')
|
|
24
|
+
.map((part) => {
|
|
25
|
+
const [action, ...params] = part.split(';').map((p) => p.trim());
|
|
26
|
+
const get = (k) => params.find((p) => p.startsWith(`${k}=`))?.slice(k.length + 1) ?? null;
|
|
27
|
+
return { action: action ?? '', min: get('min'), reason: get('reason') };
|
|
28
|
+
})
|
|
29
|
+
.filter((n) => n.action !== '');
|
|
30
|
+
}
|
|
31
|
+
/** Advisories already logged on this page load (module lifetime). */
|
|
32
|
+
const logged = new Set();
|
|
33
|
+
/** Test hook: forget what has been logged, as a new page load would. */
|
|
34
|
+
function resetSdkAdvisoryLog() {
|
|
35
|
+
logged.clear();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Read a response's advisory header and warn once per page load per advisory.
|
|
39
|
+
* Never throws; a response without the header (or a server that does not send
|
|
40
|
+
* it) does nothing. Returns the advisories newly logged.
|
|
41
|
+
*/
|
|
42
|
+
function reportSdkAdvisory(response, sdk, warn = defaultWarn) {
|
|
43
|
+
let raw = null;
|
|
44
|
+
try {
|
|
45
|
+
raw = response?.headers?.get?.(exports.SDK_ADVISORY_HEADER) ?? null;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const fresh = [];
|
|
51
|
+
for (const notice of parseSdkAdvisory(raw)) {
|
|
52
|
+
const key = `${sdk.name}|${notice.reason ?? ''}|${notice.min ?? ''}`;
|
|
53
|
+
if (logged.has(key))
|
|
54
|
+
continue;
|
|
55
|
+
logged.add(key);
|
|
56
|
+
fresh.push(notice);
|
|
57
|
+
warn(`[Atlas] ${sdk.name} ${sdk.version} has a known problem` +
|
|
58
|
+
`${notice.reason ? ` (${notice.reason})` : ''}` +
|
|
59
|
+
`${notice.min ? ` fixed in ${notice.min}. Upgrade ${sdk.name} to ${notice.min} or later` : '. Upgrade it'}` +
|
|
60
|
+
` — with a 0.x version a caret range does not move past your lockfile on its own. ` +
|
|
61
|
+
`Details: https://atlasauth.net/v1/sdk_advisories/${encodeURIComponent(sdk.name)}`);
|
|
62
|
+
}
|
|
63
|
+
return fresh;
|
|
64
|
+
}
|
|
65
|
+
function defaultWarn(message) {
|
|
66
|
+
if (typeof console !== 'undefined')
|
|
67
|
+
console.warn(message);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=sdk-advisory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-advisory.js","sourceRoot":"","sources":["../src/sdk-advisory.ts"],"names":[],"mappings":"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"}
|