@atlasauth/js 0.13.0 → 0.15.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 +25 -0
- package/dist/dev-browser.d.ts +30 -0
- package/dist/dev-browser.js +175 -0
- package/dist/dev-browser.js.map +1 -0
- package/dist/fapi.d.ts +20 -9
- package/dist/fapi.js +4 -2
- package/dist/fapi.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/referral-detect.d.ts +90 -0
- package/dist/referral-detect.js +432 -0
- package/dist/referral-detect.js.map +1 -0
- package/dist/referral.d.ts +161 -28
- package/dist/referral.js +341 -39
- package/dist/referral.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @atlasauth/js changelog
|
|
2
2
|
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Referral capture works with any referral program and any consent manager: it reads Referally, Rewardful, Tolt, PromoteKit, FirstPromoter, PartnerStack and Dub (the instance's `browser_sources`), and asks Cookie Munch, OneTrust, Cookiebot, Didomi, Usercentrics, Osano, CookieYes, Complianz, Klaro, any IAB TCF v2 manager or Google Consent Mode for consent (the instance's `consent_provider`).
|
|
8
|
+
- `referralSource` (client option, `configureReferralCapture`, and `source` on `signIn` / `referralParams`): your own reader for any other program.
|
|
9
|
+
- `detectConsent`, `detectConsentProvider`, `detectReferralSource`, `REFERRAL_BROWSER_SOURCES` and `CONSENT_PROVIDERS` are exported.
|
|
10
|
+
- A captured referral says where it came from (`source`) and who decided consent (`consent_by`), also as `ref_source` / `ref_consent_by` on redirects, for the delivery log.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- A consent manager on the page decides; `referralConsent` applies when there is none (or when the instance's `consent_provider` is `app`).
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Development instances: sign-in from `localhost` keeps working where the browser blocks the instance's cookie as third-party (Chrome, Safari). On a `pk_test_` key the SDK keeps the session's refresh token in `localStorage` and sends it as `x-refresh-token`; production keys never do.
|
|
19
|
+
- After a sign-in completes, the panel says "You're signed in" only once this browser holds the session, and says plainly when the browser didn't keep it, instead of "you are signed in where you started". That message is now shown only for a sign-in completed on another device.
|
|
20
|
+
- `withDevBrowser`, `devBrowserEnabled`, `devBrowserToken` and `forgetDevBrowserToken` are exported for custom fetch layers.
|
|
21
|
+
|
|
22
|
+
## 0.14.0
|
|
23
|
+
- **Referral capture v2.** One source per referral, in precedence order and never mixed: the page's referral script (`window.aff.getReferral()` → `{code, clickId, anonId, ts}`), explicit `ref_*` URL parameters (`ref`, `ref_click_id`, `ref_anon_id`, `ref_consent`, `ref_captured_at`), a code in the instance's URL parameters, then the tracking cookie. A URL code no longer travels with the cookie's click id. Click and anonymous ids are sent only with consent (Cookie Munch, `referralConsent`, or `ref_consent=granted` on the URL); without it only the code goes. The cookie may carry `ts` (becomes `captured_at`) and `exp` (an expired cookie is ignored).
|
|
24
|
+
- **New redirect helpers:** `signIn({ url | frontendApi, redirectUrl?, referral?: false | 'auto', consent?, config?, navigate? })` / `signUp(...)` go to the hosted page (or any URL, e.g. `/oauth2/authorize`) with the referral as `ref_*` query parameters; `referralParams(options)` and `withReferralParams(url, options)` for your own redirects.
|
|
25
|
+
- **New `lookupReferralCode(configOrTemplate, code, { fetchImpl?, timeoutMs? })`** → `{ valid, partnerDisplayName?, refereeReward? } | null` (the instance's public code lookup; null on any failure).
|
|
26
|
+
- `ReferralConfig` gains `codeLookupUrl` and `signupCodeField` (from `referrals.code_lookup_url` / `referrals.signup_code_field`). `FapiClientOptions.referral` and `ReferralCaptureOptions.referral` accept `'auto'` (the default). New exports: `referralTime`, `referralFromScript`, `explicitReferralFromSearch`, types `ReferralSourceFields`, `ReferralRedirectOptions`, `HostedRedirectOptions`, `ReferralCodeLookup`. `ReferralPage` gains `aff`. `parseReferralCookie` takes an optional `now`.
|
|
27
|
+
|
|
3
28
|
## 0.13.0
|
|
4
29
|
- **New: referral attribution.** A `FapiClient` captures the referral the visitor arrived with and sends it as `referral: { code, click_id, anon_id, consent, captured_at }` on every sign-in / sign-up start (`/v1/client/sign_ups`, `/v1/client/sign_ins`, OAuth / SSO / SAML / native id_token / passkey / wallet starts) and the steps that continue one, when the instance has referrals on. The code comes from the instance's URL parameters (default `ref`, `via`, `aff`) on the current page, the page the SDK loaded on, and their `redirect_url` / `after_url`. The instance's tracking cookie is read only under consent: Cookie Munch on the page decides (the instance's category, else its fallback category); otherwise the new `referralConsent` option (`'granted'` or a function) does. The SDK never writes the cookie. New `FapiClientOptions.referral?: false` (opt out) and `referralConsent?`; page-wide `configureReferralCapture({ referral, referralConsent })`. The config is read from `referrals` in `GET /v1/client/environment` / `GET /v1/appearance` (one read per page; nothing is fetched when there is no query and no config yet).
|
|
5
30
|
- **Referred sign-up challenge.** `fetchInstanceSettings` switches the sign-up and sign-in captcha on when a referral code was captured and the instance's `referrals.challenge_referred_signups` is `always` (as long as a captcha provider is configured). New exports: `referralChallengeRequired`, `withReferralChallenge`, `referralChallengeFlows`, `captureReferral`, `referralConfigFrom`, `parseReferralCookie`, `acceptsReferral`, `seedReferralConfig`, `referralCacheKeyFor`, types `ReferralConfig`, `ReferralCapture`, `ReferralConsent`, `ReferralCaptureOptions`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The "dev browser": sign-in on a development instance from an app on
|
|
3
|
+
* `localhost`.
|
|
4
|
+
*
|
|
5
|
+
* The session lives in cookies on the instance's Frontend API host. From
|
|
6
|
+
* `localhost` that host is cross-site, so a browser that blocks third-party
|
|
7
|
+
* cookies (Chrome, Safari) drops them: the sign-in completes, then the next
|
|
8
|
+
* boot finds no session. On a development instance (a `pk_test_` key) the SDK
|
|
9
|
+
* therefore also keeps the session's refresh token in `localStorage` and
|
|
10
|
+
* presents it as `x-refresh-token`, which development instances accept in
|
|
11
|
+
* place of the cookie. Production keys never do this: a token readable by
|
|
12
|
+
* page scripts is fine for local development, not for real users.
|
|
13
|
+
*
|
|
14
|
+
* {@link withDevBrowser} wraps a `fetch`, so every Frontend API caller (the
|
|
15
|
+
* FAPI client and each framework provider) behaves the same:
|
|
16
|
+
* - `POST /v1/client/tickets/exchange` asks for the refresh token
|
|
17
|
+
* (`return_refresh_token: true`) and keeps it;
|
|
18
|
+
* - `GET /v1/client` and `POST /v1/client/sessions/:id/tokens` present it;
|
|
19
|
+
* the rotated token a refresh returns replaces it;
|
|
20
|
+
* - a boot that finds no session, a refused refresh, or a sign-out forgets it.
|
|
21
|
+
* The cookies are still set and sent where the browser allows them; the
|
|
22
|
+
* header is only read when there is no cookie.
|
|
23
|
+
*/
|
|
24
|
+
/** Whether the dev browser applies: a development instance's key, in a browser with storage. */
|
|
25
|
+
export declare function devBrowserEnabled(publishableKey: string): boolean;
|
|
26
|
+
/** The stored refresh token for a development instance, or null. */
|
|
27
|
+
export declare function devBrowserToken(publishableKey: string): string | null;
|
|
28
|
+
/** Forget the stored refresh token (sign-out; tests). */
|
|
29
|
+
export declare function forgetDevBrowserToken(publishableKey: string): void;
|
|
30
|
+
export declare function withDevBrowser(publishableKey: string, fetchImpl: typeof fetch): typeof fetch;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* The "dev browser": sign-in on a development instance from an app on
|
|
4
|
+
* `localhost`.
|
|
5
|
+
*
|
|
6
|
+
* The session lives in cookies on the instance's Frontend API host. From
|
|
7
|
+
* `localhost` that host is cross-site, so a browser that blocks third-party
|
|
8
|
+
* cookies (Chrome, Safari) drops them: the sign-in completes, then the next
|
|
9
|
+
* boot finds no session. On a development instance (a `pk_test_` key) the SDK
|
|
10
|
+
* therefore also keeps the session's refresh token in `localStorage` and
|
|
11
|
+
* presents it as `x-refresh-token`, which development instances accept in
|
|
12
|
+
* place of the cookie. Production keys never do this: a token readable by
|
|
13
|
+
* page scripts is fine for local development, not for real users.
|
|
14
|
+
*
|
|
15
|
+
* {@link withDevBrowser} wraps a `fetch`, so every Frontend API caller (the
|
|
16
|
+
* FAPI client and each framework provider) behaves the same:
|
|
17
|
+
* - `POST /v1/client/tickets/exchange` asks for the refresh token
|
|
18
|
+
* (`return_refresh_token: true`) and keeps it;
|
|
19
|
+
* - `GET /v1/client` and `POST /v1/client/sessions/:id/tokens` present it;
|
|
20
|
+
* the rotated token a refresh returns replaces it;
|
|
21
|
+
* - a boot that finds no session, a refused refresh, or a sign-out forgets it.
|
|
22
|
+
* The cookies are still set and sent where the browser allows them; the
|
|
23
|
+
* header is only read when there is no cookie.
|
|
24
|
+
*/
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.devBrowserEnabled = devBrowserEnabled;
|
|
27
|
+
exports.devBrowserToken = devBrowserToken;
|
|
28
|
+
exports.forgetDevBrowserToken = forgetDevBrowserToken;
|
|
29
|
+
exports.withDevBrowser = withDevBrowser;
|
|
30
|
+
const STORAGE_PREFIX = '__atlas_dev_session:';
|
|
31
|
+
const EXCHANGE = '/v1/client/tickets/exchange';
|
|
32
|
+
const BOOT = '/v1/client';
|
|
33
|
+
const REFRESH = /^\/v1\/client\/sessions\/[^/]+\/tokens$/;
|
|
34
|
+
const REVOKE = /^\/v1\/client\/sessions\/[^/]+\/revoke$/;
|
|
35
|
+
function storage() {
|
|
36
|
+
try {
|
|
37
|
+
const s = globalThis.localStorage;
|
|
38
|
+
return s && typeof s.getItem === 'function' ? s : null;
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Whether the dev browser applies: a development instance's key, in a browser with storage. */
|
|
45
|
+
function devBrowserEnabled(publishableKey) {
|
|
46
|
+
return publishableKey.startsWith('pk_test_') && storage() !== null;
|
|
47
|
+
}
|
|
48
|
+
/** The stored refresh token for a development instance, or null. */
|
|
49
|
+
function devBrowserToken(publishableKey) {
|
|
50
|
+
try {
|
|
51
|
+
return storage()?.getItem(STORAGE_PREFIX + publishableKey) ?? null;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const SESSION_SUFFIX = ':sid';
|
|
58
|
+
function remember(publishableKey, token, sessionId) {
|
|
59
|
+
if (typeof token !== 'string' || !token)
|
|
60
|
+
return;
|
|
61
|
+
try {
|
|
62
|
+
storage()?.setItem(STORAGE_PREFIX + publishableKey, token);
|
|
63
|
+
if (typeof sessionId === 'string' && sessionId)
|
|
64
|
+
storage()?.setItem(STORAGE_PREFIX + publishableKey + SESSION_SUFFIX, sessionId);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Storage full or blocked: the cookie path still works where the browser allows it.
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
function storedSessionId(publishableKey) {
|
|
71
|
+
try {
|
|
72
|
+
return storage()?.getItem(STORAGE_PREFIX + publishableKey + SESSION_SUFFIX) ?? null;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/** Forget the stored refresh token (sign-out; tests). */
|
|
79
|
+
function forgetDevBrowserToken(publishableKey) {
|
|
80
|
+
try {
|
|
81
|
+
storage()?.removeItem(STORAGE_PREFIX + publishableKey);
|
|
82
|
+
storage()?.removeItem(STORAGE_PREFIX + publishableKey + SESSION_SUFFIX);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// nothing to forget
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function pathOf(input) {
|
|
89
|
+
try {
|
|
90
|
+
const url = typeof input === 'string' ? input : input instanceof URL ? input.href : input.url;
|
|
91
|
+
return new URL(url, 'https://invalid.example').pathname;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/** The session id in `/v1/client/sessions/:id/…`. */
|
|
98
|
+
function sessionIdIn(path) {
|
|
99
|
+
const m = /^\/v1\/client\/sessions\/([^/]+)\//.exec(path);
|
|
100
|
+
return m ? decodeURIComponent(m[1]) : null;
|
|
101
|
+
}
|
|
102
|
+
async function bodyOf(response) {
|
|
103
|
+
try {
|
|
104
|
+
const b = (await response.clone().json());
|
|
105
|
+
return b && typeof b === 'object' && !Array.isArray(b) ? b : null;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* `fetchImpl` with the dev browser for `publishableKey`. Returns `fetchImpl`
|
|
113
|
+
* unchanged for a production key or where there is no storage.
|
|
114
|
+
*/
|
|
115
|
+
const WRAPPED = Symbol.for('atlas.devBrowser');
|
|
116
|
+
function withDevBrowser(publishableKey, fetchImpl) {
|
|
117
|
+
// A provider hands its (already wrapped) fetch to the FAPI client too: wrap once.
|
|
118
|
+
if (!publishableKey.startsWith('pk_test_') || fetchImpl[WRAPPED])
|
|
119
|
+
return fetchImpl;
|
|
120
|
+
const wrapped = async (input, init) => {
|
|
121
|
+
if (!devBrowserEnabled(publishableKey))
|
|
122
|
+
return fetchImpl(input, init);
|
|
123
|
+
const path = pathOf(input);
|
|
124
|
+
const method = (init?.method ?? 'GET').toUpperCase();
|
|
125
|
+
let nextInit = init;
|
|
126
|
+
let presented = false;
|
|
127
|
+
if (path === EXCHANGE && method === 'POST' && typeof init?.body === 'string') {
|
|
128
|
+
try {
|
|
129
|
+
const body = JSON.parse(init.body);
|
|
130
|
+
if (body && typeof body === 'object' && !Array.isArray(body)) {
|
|
131
|
+
nextInit = { ...init, body: JSON.stringify({ ...body, return_refresh_token: true }) };
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// not JSON: send it as it is
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const token = devBrowserToken(publishableKey);
|
|
139
|
+
if (token && ((path === BOOT && method === 'GET') || (path && REFRESH.test(path) && method === 'POST'))) {
|
|
140
|
+
const headers = new Headers(nextInit?.headers);
|
|
141
|
+
if (!headers.has('x-refresh-token'))
|
|
142
|
+
headers.set('x-refresh-token', token);
|
|
143
|
+
nextInit = { ...nextInit, headers };
|
|
144
|
+
presented = true;
|
|
145
|
+
}
|
|
146
|
+
const response = await fetchImpl(input, nextInit);
|
|
147
|
+
if (!path)
|
|
148
|
+
return response;
|
|
149
|
+
if (path === EXCHANGE && response.ok) {
|
|
150
|
+
const body = await bodyOf(response);
|
|
151
|
+
remember(publishableKey, body?.refresh_token, body?.id);
|
|
152
|
+
}
|
|
153
|
+
else if (path && REFRESH.test(path)) {
|
|
154
|
+
if (response.ok)
|
|
155
|
+
remember(publishableKey, (await bodyOf(response))?.refresh_token, sessionIdIn(path));
|
|
156
|
+
else if (presented && response.status === 401)
|
|
157
|
+
forgetDevBrowserToken(publishableKey);
|
|
158
|
+
}
|
|
159
|
+
else if (path === BOOT && presented && response.ok) {
|
|
160
|
+
const body = await bodyOf(response);
|
|
161
|
+
if (body && body.session === null)
|
|
162
|
+
forgetDevBrowserToken(publishableKey);
|
|
163
|
+
}
|
|
164
|
+
else if (path && REVOKE.test(path) && (response.ok || response.status === 404)) {
|
|
165
|
+
// Only this browser's own session: revoking another device keeps us signed in.
|
|
166
|
+
const sid = storedSessionId(publishableKey);
|
|
167
|
+
if (!sid || sid === sessionIdIn(path))
|
|
168
|
+
forgetDevBrowserToken(publishableKey);
|
|
169
|
+
}
|
|
170
|
+
return response;
|
|
171
|
+
};
|
|
172
|
+
wrapped[WRAPPED] = true;
|
|
173
|
+
return wrapped;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=dev-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-browser.js","sourceRoot":"","sources":["../src/dev-browser.ts"],"names":[],"mappings":"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"}
|
package/dist/fapi.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AttemptView, type FieldError } from './attempt';
|
|
2
2
|
import { type AtlasSdkInfo } from './sdk-advisory';
|
|
3
|
-
import { type ReferralCaptureOptions, type ReferralConsent } from './referral';
|
|
3
|
+
import { type ReferralCaptureOptions, type ReferralConsent, type ReferralSourceReader } from './referral';
|
|
4
4
|
/**
|
|
5
5
|
* The FAPI client and the sign-in flow driver.
|
|
6
6
|
*
|
|
@@ -35,18 +35,23 @@ export interface FapiClientOptions {
|
|
|
35
35
|
*/
|
|
36
36
|
sdk?: AtlasSdkInfo;
|
|
37
37
|
/**
|
|
38
|
-
* Referral attribution. By default a client captures the referral
|
|
39
|
-
* visitor arrived with (the
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* Referral attribution. By default (`'auto'`) a client captures the referral
|
|
39
|
+
* the visitor arrived with (the page's referral script `window.aff`, explicit
|
|
40
|
+
* `ref_*` URL parameters, the instance's URL parameters, then its tracking
|
|
41
|
+
* cookie) and sends it on every sign-in / sign-up start, when the instance
|
|
42
|
+
* has referrals on. `false` turns that off. See `./referral`.
|
|
42
43
|
*/
|
|
43
|
-
referral?: false;
|
|
44
|
+
referral?: false | 'auto';
|
|
44
45
|
/**
|
|
45
|
-
* The app's own consent decision for
|
|
46
|
-
*
|
|
47
|
-
*
|
|
46
|
+
* The app's own consent decision for referral tracking (click and anonymous
|
|
47
|
+
* ids): `'granted'` / `'denied'`, a boolean, or a function returning one.
|
|
48
|
+
* A consent manager on the page decides when there is one; this applies
|
|
49
|
+
* when there isn't (or when the instance's `consent_provider` is `app`).
|
|
50
|
+
* Default: code only.
|
|
48
51
|
*/
|
|
49
52
|
referralConsent?: ReferralConsent;
|
|
53
|
+
/** Your own reader for a referral program the SDK doesn't know: `() => ({code, clickId, anonId}) | null`. */
|
|
54
|
+
referralSource?: ReferralSourceReader;
|
|
50
55
|
}
|
|
51
56
|
/**
|
|
52
57
|
* A locale tag normalised for the `Accept-Language` header (`pt_BR` → `pt-BR`),
|
|
@@ -144,6 +149,12 @@ export interface FlowState {
|
|
|
144
149
|
* server returns a new attempt.
|
|
145
150
|
*/
|
|
146
151
|
prepared?: 'email_code' | 'email_link' | null;
|
|
152
|
+
/**
|
|
153
|
+
* After a sign-in completed here: true when this browser now holds the
|
|
154
|
+
* session, false when it didn't keep it (its cookie was blocked). Unset while
|
|
155
|
+
* unknown, and for a sign-in completed on another device.
|
|
156
|
+
*/
|
|
157
|
+
sessionKept?: boolean;
|
|
147
158
|
}
|
|
148
159
|
export declare const initialFlow: FlowState;
|
|
149
160
|
/**
|
package/dist/fapi.js
CHANGED
|
@@ -14,6 +14,7 @@ exports.pollAttempt = pollAttempt;
|
|
|
14
14
|
exports.shouldKeepPolling = shouldKeepPolling;
|
|
15
15
|
const attempt_1 = require("./attempt");
|
|
16
16
|
const sdk_advisory_1 = require("./sdk-advisory");
|
|
17
|
+
const dev_browser_1 = require("./dev-browser");
|
|
17
18
|
const referral_1 = require("./referral");
|
|
18
19
|
/**
|
|
19
20
|
* A locale tag normalised for the `Accept-Language` header (`pt_BR` → `pt-BR`),
|
|
@@ -41,7 +42,7 @@ class FapiClient {
|
|
|
41
42
|
}
|
|
42
43
|
/** This client's own referral options (page-wide defaults fill the gaps). */
|
|
43
44
|
get referralOptions() {
|
|
44
|
-
return { referral: this.options.referral, referralConsent: this.options.referralConsent };
|
|
45
|
+
return { referral: this.options.referral, referralConsent: this.options.referralConsent, referralSource: this.options.referralSource };
|
|
45
46
|
}
|
|
46
47
|
/** The `Accept-Language` this client sends, or null when it sends none. */
|
|
47
48
|
get locale() {
|
|
@@ -64,7 +65,8 @@ class FapiClient {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
async request(path, init = {}) {
|
|
67
|
-
|
|
68
|
+
// Development instances keep the session in a header where the browser blocks the cookie (./dev-browser).
|
|
69
|
+
const doFetch = (0, dev_browser_1.withDevBrowser)(this.options.publishableKey, this.options.fetchImpl ?? fetch);
|
|
68
70
|
const language = this.locale;
|
|
69
71
|
const sdk = this.options.sdk ?? sdk_advisory_1.ATLAS_JS_SDK;
|
|
70
72
|
let response;
|
package/dist/fapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fapi.js","sourceRoot":"","sources":["../src/fapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fapi.js","sourceRoot":"","sources":["../src/fapi.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export * from './redirect';
|
|
|
11
11
|
export * from './popup-channel';
|
|
12
12
|
export * from './fapi';
|
|
13
13
|
export * from './referral';
|
|
14
|
+
export { devBrowserEnabled, devBrowserToken, forgetDevBrowserToken, withDevBrowser } from './dev-browser';
|
|
15
|
+
export { CONSENT_PROVIDERS, REFERRAL_BROWSER_SOURCES, canonicalCategory, detectConsent, detectConsentProvider, detectReferralSource, type ConsentDecision, type ConsentProvider, type DetectedReferral, type ReferralBrowserSource, } from './referral-detect';
|
|
14
16
|
export * from './sdk-advisory';
|
|
15
17
|
export * from './version';
|
|
16
18
|
export * from './sign-out-events';
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.isPermissionKey = exports.isRoleKey = exports.PERMISSION_KEY_PATTERN = exports.ROLE_KEY_PATTERN = exports.ForbiddenError = exports.protectFromClaims = exports.hasFromClaims = exports.evaluate = void 0;
|
|
17
|
+
exports.isPermissionKey = exports.isRoleKey = exports.PERMISSION_KEY_PATTERN = exports.ROLE_KEY_PATTERN = exports.ForbiddenError = exports.protectFromClaims = exports.hasFromClaims = exports.evaluate = exports.detectReferralSource = exports.detectConsentProvider = exports.detectConsent = exports.canonicalCategory = exports.REFERRAL_BROWSER_SOURCES = exports.CONSENT_PROVIDERS = exports.withDevBrowser = exports.forgetDevBrowserToken = exports.devBrowserToken = exports.devBrowserEnabled = void 0;
|
|
18
18
|
// Provider configuration checks (frontendApi) shared by every framework SDK.
|
|
19
19
|
__exportStar(require("./config"), exports);
|
|
20
20
|
__exportStar(require("./sign-out"), exports);
|
|
@@ -33,6 +33,19 @@ __exportStar(require("./popup-channel"), exports);
|
|
|
33
33
|
__exportStar(require("./fapi"), exports);
|
|
34
34
|
// Referral attribution: capture the visitor's referral and send it on sign-up.
|
|
35
35
|
__exportStar(require("./referral"), exports);
|
|
36
|
+
// Development instances: sign-in from localhost where the browser blocks the instance's cookie.
|
|
37
|
+
var dev_browser_1 = require("./dev-browser");
|
|
38
|
+
Object.defineProperty(exports, "devBrowserEnabled", { enumerable: true, get: function () { return dev_browser_1.devBrowserEnabled; } });
|
|
39
|
+
Object.defineProperty(exports, "devBrowserToken", { enumerable: true, get: function () { return dev_browser_1.devBrowserToken; } });
|
|
40
|
+
Object.defineProperty(exports, "forgetDevBrowserToken", { enumerable: true, get: function () { return dev_browser_1.forgetDevBrowserToken; } });
|
|
41
|
+
Object.defineProperty(exports, "withDevBrowser", { enumerable: true, get: function () { return dev_browser_1.withDevBrowser; } });
|
|
42
|
+
var referral_detect_1 = require("./referral-detect");
|
|
43
|
+
Object.defineProperty(exports, "CONSENT_PROVIDERS", { enumerable: true, get: function () { return referral_detect_1.CONSENT_PROVIDERS; } });
|
|
44
|
+
Object.defineProperty(exports, "REFERRAL_BROWSER_SOURCES", { enumerable: true, get: function () { return referral_detect_1.REFERRAL_BROWSER_SOURCES; } });
|
|
45
|
+
Object.defineProperty(exports, "canonicalCategory", { enumerable: true, get: function () { return referral_detect_1.canonicalCategory; } });
|
|
46
|
+
Object.defineProperty(exports, "detectConsent", { enumerable: true, get: function () { return referral_detect_1.detectConsent; } });
|
|
47
|
+
Object.defineProperty(exports, "detectConsentProvider", { enumerable: true, get: function () { return referral_detect_1.detectConsentProvider; } });
|
|
48
|
+
Object.defineProperty(exports, "detectReferralSource", { enumerable: true, get: function () { return referral_detect_1.detectReferralSource; } });
|
|
36
49
|
// SDK version advisories (`X-Atlas-SDK` / `Atlas-SDK-Advisory`).
|
|
37
50
|
__exportStar(require("./sdk-advisory"), exports);
|
|
38
51
|
__exportStar(require("./version"), exports);
|
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,kDAAgC;AAChC,uEAAuE;AACvE,2CAAyB;AACzB,6CAA2B;AAC3B,qFAAqF;AACrF,kDAAgC;AAChC,yCAAuB;AACvB,+EAA+E;AAC/E,6CAA2B;AAC3B,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"}
|
|
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,+EAA+E;AAC/E,6CAA2B;AAC3B,gGAAgG;AAChG,6CAA0G;AAAjG,gHAAA,iBAAiB,OAAA;AAAE,8GAAA,eAAe,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAAE,6GAAA,cAAc,OAAA;AAClF,qDAW2B;AAVzB,oHAAA,iBAAiB,OAAA;AACjB,2HAAA,wBAAwB,OAAA;AACxB,oHAAA,iBAAiB,OAAA;AACjB,gHAAA,aAAa,OAAA;AACb,wHAAA,qBAAqB,OAAA;AACrB,uHAAA,oBAAoB,OAAA;AAMtB,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,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Referral sources and consent managers the SDK recognises on the page, so
|
|
3
|
+
* referral capture works with any referral program and any consent manager.
|
|
4
|
+
*
|
|
5
|
+
* Sources: the referral script or cookie a program puts on the merchant's
|
|
6
|
+
* site. Each reader returns `{code, clickId, anonId}` (and `capturedAt` when
|
|
7
|
+
* the source says when): the code is the referrer's, the ids are the
|
|
8
|
+
* visitor's (sent only with consent). The instance lists which sources to read
|
|
9
|
+
* (`browser_sources`), so one program's script never feeds another program's
|
|
10
|
+
* connection. A custom program passes its own reader as `referralSource`.
|
|
11
|
+
*
|
|
12
|
+
* Consent: the first consent manager found on the page decides whether the
|
|
13
|
+
* referral cookie's ids may be read, for the instance's consent category, else
|
|
14
|
+
* its fallback category. The visitor's answer in a consent manager is the
|
|
15
|
+
* source of truth: the app's own decision (`referralConsent`) applies only
|
|
16
|
+
* when no manager is on the page, or when the instance says the app decides
|
|
17
|
+
* (`consent_provider: 'app'`). Common names map onto each manager's own:
|
|
18
|
+
* `marketing` (also advertising / targeting), `statistics` (analytics /
|
|
19
|
+
* performance) and `preferences` (functional / personalization); any other
|
|
20
|
+
* name is looked up as the manager's own category id. IAB TCF v2 managers
|
|
21
|
+
* answer with Purpose 1 (store and access information on a device).
|
|
22
|
+
*
|
|
23
|
+
* Every reader is defensive: a missing, half-loaded or throwing script reads
|
|
24
|
+
* as "nothing here". The ES5 copy in the Atlas API (hosted pages and the Sign
|
|
25
|
+
* in with Atlas button) follows the same rules and is tested against the same
|
|
26
|
+
* fixtures.
|
|
27
|
+
*/
|
|
28
|
+
/** What a browser source holds. */
|
|
29
|
+
export interface DetectedReferral {
|
|
30
|
+
/** The source id (e.g. `rewardful`), or `custom` for the app's own reader. */
|
|
31
|
+
source: string;
|
|
32
|
+
code: string | null;
|
|
33
|
+
clickId: string | null;
|
|
34
|
+
anonId: string | null;
|
|
35
|
+
/** ISO 8601, when the source says when it captured the referral. */
|
|
36
|
+
capturedAt?: string;
|
|
37
|
+
}
|
|
38
|
+
/** The app's own reader, for a referral program the SDK doesn't know. */
|
|
39
|
+
export type ReferralSourceReader = () => {
|
|
40
|
+
code?: string | null;
|
|
41
|
+
clickId?: string | null;
|
|
42
|
+
anonId?: string | null;
|
|
43
|
+
capturedAt?: string | number | null;
|
|
44
|
+
} | null | undefined;
|
|
45
|
+
/** The browser sources the SDK reads, in the order it tries them. */
|
|
46
|
+
export declare const REFERRAL_BROWSER_SOURCES: readonly ["referally", "rewardful", "tolt", "promotekit", "firstpromoter", "partnerstack", "dub"];
|
|
47
|
+
export type ReferralBrowserSource = (typeof REFERRAL_BROWSER_SOURCES)[number];
|
|
48
|
+
/** The consent managers the SDK reads, in the order `auto` tries them. */
|
|
49
|
+
export declare const CONSENT_PROVIDERS: readonly ["cookiemunch", "onetrust", "cookiebot", "didomi", "usercentrics", "osano", "cookieyes", "complianz", "klaro", "tcf", "consent_mode"];
|
|
50
|
+
export type ConsentProvider = (typeof CONSENT_PROVIDERS)[number];
|
|
51
|
+
/** The page as the readers see it: `window`, and `document.cookie`. */
|
|
52
|
+
export interface DetectPage {
|
|
53
|
+
win: unknown;
|
|
54
|
+
cookies: string | null | undefined;
|
|
55
|
+
}
|
|
56
|
+
/** The app's own reader, as a detected referral (source `custom`). Never throws. */
|
|
57
|
+
export declare function customReferral(reader: ReferralSourceReader | undefined): DetectedReferral | null;
|
|
58
|
+
/** The first of `sources` with a referral on the page, or null. Unknown ids are skipped. */
|
|
59
|
+
export declare function detectReferralSource(page: DetectPage, sources: readonly string[]): DetectedReferral | null;
|
|
60
|
+
type Canonical = 'necessary' | 'preferences' | 'statistics' | 'marketing';
|
|
61
|
+
/** A consent category's common meaning, if it has one. */
|
|
62
|
+
export declare function canonicalCategory(name: string): Canonical | null;
|
|
63
|
+
/**
|
|
64
|
+
* Start listening to an IAB TCF v2 manager (`__tcfapi`), so its answer is
|
|
65
|
+
* ready synchronously when a sign-in starts. Safe to call more than once.
|
|
66
|
+
*/
|
|
67
|
+
export declare function listenForTcfConsent(win: unknown): void;
|
|
68
|
+
/** Forget the cached TCF data (tests). */
|
|
69
|
+
export declare function resetConsentDetection(): void;
|
|
70
|
+
/** A consent decision and who made it (`app`, a manager id, or `none`). */
|
|
71
|
+
export interface ConsentDecision {
|
|
72
|
+
granted: boolean;
|
|
73
|
+
by: string;
|
|
74
|
+
}
|
|
75
|
+
/** The app's own decision (`referralConsent`), when definite. */
|
|
76
|
+
export type AppConsent = 'granted' | 'denied' | boolean | (() => 'granted' | 'denied' | boolean | null | undefined);
|
|
77
|
+
/**
|
|
78
|
+
* Whether the referral cookie's ids may be read, and who decided. A consent
|
|
79
|
+
* manager on the page decides (`provider`: `auto` tries each in order, a
|
|
80
|
+
* manager id asks only that one); a manager that doesn't know either category
|
|
81
|
+
* answers no. With no manager, or `provider: 'app'`, the app's definite answer
|
|
82
|
+
* decides; else no.
|
|
83
|
+
*/
|
|
84
|
+
export declare function detectConsent(win: unknown, categories: readonly (string | null | undefined)[], options?: {
|
|
85
|
+
provider?: string | null;
|
|
86
|
+
appConsent?: AppConsent;
|
|
87
|
+
}): ConsentDecision;
|
|
88
|
+
/** Which consent manager is on the page (`auto` order), or null. For diagnostics. */
|
|
89
|
+
export declare function detectConsentProvider(win: unknown): ConsentProvider | null;
|
|
90
|
+
export {};
|