@consentera/react-native-consent 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -1
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/session.js +51 -7
- package/lib/commonjs/session.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/session.js +48 -6
- package/lib/module/session.js.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/session.d.ts +44 -4
- package/lib/typescript/src/session.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/session.ts +77 -8
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ The app **never holds a secret key**. Your own backend holds `tiq_live_*` and
|
|
|
6
6
|
proxies to Consentera; this SDK talks to your backend, opens Consentera's hosted
|
|
7
7
|
notice in an in-app browser, and reads the decision back.
|
|
8
8
|
|
|
9
|
-
- **Version** 2.
|
|
9
|
+
- **Version** 2.1.0 · **peers** react ≥18.2, react-native ≥0.73
|
|
10
10
|
- **Pure JS.** No native module of its own, no codegen, nothing to link.
|
|
11
11
|
|
|
12
12
|
## Install
|
|
@@ -104,6 +104,18 @@ await session.openPortal({ email: 'riya@example.in' });
|
|
|
104
104
|
Re-validate on `AppState` `'active'`: Chrome blocks gesture-less custom-scheme
|
|
105
105
|
redirects, so a person who closes the tab produces **no callback at all**.
|
|
106
106
|
|
|
107
|
+
**A DENY that is still catching up.** Right after the person grants, the
|
|
108
|
+
platform can still be applying that grant, and until it has, validate answers
|
|
109
|
+
from the state it recorded before, typically a DENY. From platform `936715ad71`
|
|
110
|
+
the answer says so: `d.applied` is false and `d.retry_after` gives the seconds
|
|
111
|
+
to wait before asking again. That flag is true on every other answer, and on a
|
|
112
|
+
platform older than that commit (the field is absent there). A newer *refusal*
|
|
113
|
+
is never pending: it decides at once. Treat an unapplied DENY as "not yet", not
|
|
114
|
+
as "no": keep processing off, and ask again. `session.validate(who,
|
|
115
|
+
'product_analytics', { retryWhenPending: true })` waits `retry_after` (1 s if
|
|
116
|
+
none was sent, capped at 5 s), asks once more and returns that second answer,
|
|
117
|
+
whatever it says. The re-ask is off by default.
|
|
118
|
+
|
|
107
119
|
## One identifier vocabulary (F015)
|
|
108
120
|
|
|
109
121
|
`dataPrincipal` on create and the lifecycle roads' identifiers are the **same
|
|
@@ -194,6 +206,20 @@ retries; 429 and 5xx are retried with full jitter, honouring `Retry-After`; a
|
|
|
194
206
|
| `onDiagnostic` | — | opt-in sink; the SDK is otherwise SILENT |
|
|
195
207
|
| `callbackHost` / `callbackPath` | `consent` / `/callback` | both are CHECKED on the callback |
|
|
196
208
|
|
|
209
|
+
## Base URL and path prefixes
|
|
210
|
+
|
|
211
|
+
`backendBaseUrl` is **your own backend's** Consentera route, and it may carry a path
|
|
212
|
+
(`https://api.yourbank.in/consentera`); the path is kept. Trailing slashes are
|
|
213
|
+
trimmed once, when the configuration is read, so `https://x/prefix/` and
|
|
214
|
+
`https://x/prefix` send the same request and no request carries `//`.
|
|
215
|
+
|
|
216
|
+
The paths this SDK appends — `/consent/sessions`, `/consent/validate`,
|
|
217
|
+
`/consent/withdraw`, `/consent/portal-sessions` — are fixed; they are the
|
|
218
|
+
contract between the app and your backend, which forwards to the platform's
|
|
219
|
+
`/api/v1/public/...` routes. The `/api/v1` route prefix is the platform's and is
|
|
220
|
+
not configurable in any SDK; see the root README, "Base URLs, gateway prefixes
|
|
221
|
+
and the fixed route prefix", for targeting a gateway that re-maps it.
|
|
222
|
+
|
|
197
223
|
## Support
|
|
198
224
|
|
|
199
225
|
Security issues: see `SECURITY.md` at the repository root.
|
package/lib/commonjs/index.js
CHANGED
|
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "SDK_VERSION", {
|
|
|
39
39
|
return _session.SDK_VERSION;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "VALIDATE_PENDING_RETRY_CAP_SECONDS", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _session.VALIDATE_PENDING_RETRY_CAP_SECONDS;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "callbackStatusOf", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function () {
|
|
@@ -57,6 +63,12 @@ Object.defineProperty(exports, "newCallbackState", {
|
|
|
57
63
|
return _session.newCallbackState;
|
|
58
64
|
}
|
|
59
65
|
});
|
|
66
|
+
Object.defineProperty(exports, "normalizeDecision", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _session.normalizeDecision;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
60
72
|
Object.defineProperty(exports, "parseRetryAfter", {
|
|
61
73
|
enumerable: true,
|
|
62
74
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_session","require","_gate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_session","require","_gate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAAA,QAAA,GAAAC,OAAA;AA+BA,IAAAC,KAAA,GAAAD,OAAA","ignoreList":[]}
|
package/lib/commonjs/session.js
CHANGED
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SDK_VERSION = exports.SDK_USER_AGENT = exports.SDK_IDENTIFIER = exports.ConsenteraSession = exports.ConsenteraError = void 0;
|
|
6
|
+
exports.VALIDATE_PENDING_RETRY_CAP_SECONDS = exports.SDK_VERSION = exports.SDK_USER_AGENT = exports.SDK_IDENTIFIER = exports.ConsenteraSession = exports.ConsenteraError = void 0;
|
|
7
7
|
exports.callbackStatusOf = callbackStatusOf;
|
|
8
8
|
exports.callbackUrlFor = callbackUrlFor;
|
|
9
9
|
exports.newCallbackState = newCallbackState;
|
|
10
|
+
exports.normalizeDecision = normalizeDecision;
|
|
10
11
|
exports.parseRetryAfter = parseRetryAfter;
|
|
12
|
+
exports.pendingRetryDelayMs = pendingRetryDelayMs;
|
|
11
13
|
exports.portalIdentifier = portalIdentifier;
|
|
12
14
|
exports.principalBody = principalBody;
|
|
13
15
|
exports.readErrorEnvelope = readErrorEnvelope;
|
|
@@ -20,7 +22,7 @@ var _reactNative = require("react-native");
|
|
|
20
22
|
* ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
|
|
21
23
|
* that no request builder ever read, which is the same as not having one.
|
|
22
24
|
*/
|
|
23
|
-
const SDK_VERSION = exports.SDK_VERSION = '2.
|
|
25
|
+
const SDK_VERSION = exports.SDK_VERSION = '2.1.0';
|
|
24
26
|
const SDK_IDENTIFIER = exports.SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
|
|
25
27
|
|
|
26
28
|
/**
|
|
@@ -233,7 +235,9 @@ function assertBackendBaseUrl(value) {
|
|
|
233
235
|
code: 'BACKEND_BASE_URL_REQUIRED'
|
|
234
236
|
});
|
|
235
237
|
}
|
|
236
|
-
|
|
238
|
+
// Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
|
|
239
|
+
// path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
|
|
240
|
+
return base.replace(/\/+$/, '');
|
|
237
241
|
}
|
|
238
242
|
/**
|
|
239
243
|
* The deep link handed to the platform as `callback_url`, carrying `state`.
|
|
@@ -379,7 +383,36 @@ function portalIdentifier(identifiers, scheme) {
|
|
|
379
383
|
}
|
|
380
384
|
return [chosen, chosenValue];
|
|
381
385
|
}
|
|
386
|
+
|
|
387
|
+
/** Options for {@link ConsenteraSession.validate}. */
|
|
388
|
+
|
|
389
|
+
/** The longest the `retryWhenPending` re-ask waits, in seconds. */
|
|
390
|
+
const VALIDATE_PENDING_RETRY_CAP_SECONDS = exports.VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Reads `applied` and `retry_after` off a validate answer the one way every
|
|
394
|
+
* Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
|
|
395
|
+
* `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
|
|
396
|
+
* seconds), else dropped. Every other field passes through.
|
|
397
|
+
*/
|
|
398
|
+
function normalizeDecision(raw) {
|
|
399
|
+
const r = raw && typeof raw === 'object' ? raw : {};
|
|
400
|
+
const out = {
|
|
401
|
+
...r
|
|
402
|
+
};
|
|
403
|
+
out.applied = typeof r.applied === 'boolean' ? r.applied : true;
|
|
404
|
+
const ra = r.retry_after;
|
|
405
|
+
if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);else delete out.retry_after;
|
|
406
|
+
return out;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
|
|
410
|
+
function pendingRetryDelayMs(d) {
|
|
411
|
+
return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
|
|
412
|
+
}
|
|
382
413
|
class ConsenteraSession {
|
|
414
|
+
/** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
|
|
415
|
+
|
|
383
416
|
constructor(cfg) {
|
|
384
417
|
this.cfg = cfg;
|
|
385
418
|
// NO DEFAULT SERVER, and the refusal names the field. The app talks to its
|
|
@@ -390,6 +423,7 @@ class ConsenteraSession {
|
|
|
390
423
|
// or '', which used to surface as a TypeError on `.startsWith` or as a
|
|
391
424
|
// fetch to a relative path at the first request.
|
|
392
425
|
const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
|
|
426
|
+
this.base = base;
|
|
393
427
|
// Enterprise guard: consent traffic must be HTTPS in production. Plain
|
|
394
428
|
// HTTP is tolerated only for the local dev bridges, and loudly.
|
|
395
429
|
if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
|
|
@@ -432,7 +466,7 @@ class ConsenteraSession {
|
|
|
432
466
|
const timer = setTimeout(() => controller.abort(), budget);
|
|
433
467
|
let res;
|
|
434
468
|
try {
|
|
435
|
-
res = await fetch(`${this.
|
|
469
|
+
res = await fetch(`${this.base}${path}`, {
|
|
436
470
|
method: 'POST',
|
|
437
471
|
headers: {
|
|
438
472
|
'Content-Type': 'application/json',
|
|
@@ -663,11 +697,21 @@ class ConsenteraSession {
|
|
|
663
697
|
// Marking it async turns the throw into a rejection, so both call styles —
|
|
664
698
|
// try/await and .catch() — behave the same. Found by the F015 test below,
|
|
665
699
|
// which had to use `.rejects` and got a synchronous throw.
|
|
666
|
-
|
|
667
|
-
|
|
700
|
+
//
|
|
701
|
+
// `options.retryWhenPending` (off by default): when the answer says
|
|
702
|
+
// `applied: false` — a newer act is still being applied (platform
|
|
703
|
+
// 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
|
|
704
|
+
async validate(who, purposeCode, options = {}) {
|
|
705
|
+
const body = {
|
|
668
706
|
...principalBody(who),
|
|
669
707
|
purpose_code: purposeCode
|
|
670
|
-
}
|
|
708
|
+
};
|
|
709
|
+
const ask = async () => normalizeDecision(await this.post('/consent/validate', body));
|
|
710
|
+
const first = await ask();
|
|
711
|
+
if (!options.retryWhenPending || first.applied) return first;
|
|
712
|
+
const waitMs = pendingRetryDelayMs(first);
|
|
713
|
+
await new Promise(r => setTimeout(r, waitMs));
|
|
714
|
+
return ask();
|
|
671
715
|
}
|
|
672
716
|
|
|
673
717
|
/** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","SDK_VERSION","exports","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","eval","mod","InAppBrowser","NativeModules","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","purpose_code","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","SDK_VERSION","exports","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","eval","mod","InAppBrowser","NativeModules","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","VALIDATE_PENDING_RETRY_CAP_SECONDS","normalizeDecision","out","applied","ra","retry_after","isFinite","ceil","pendingRetryDelayMs","d","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","options","purpose_code","ask","first","retryWhenPending","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
* third-party SDK with init/revoke hooks; refresh() starts/stops them on the
|
|
19
19
|
* live consent state.
|
|
20
20
|
*/
|
|
21
|
-
export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope } from './session';
|
|
21
|
+
export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, normalizeDecision, VALIDATE_PENDING_RETRY_CAP_SECONDS, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope } from './session';
|
|
22
22
|
export { ConsentGate } from './gate';
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConsenteraSession","ConsenteraError","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","setInAppBrowser","resolveInAppBrowser","newCallbackState","parseRetryAfter","callbackUrlFor","callbackStatusOf","portalIdentifier","readErrorEnvelope","ConsentGate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,QACZ,WAAW;
|
|
1
|
+
{"version":3,"names":["ConsenteraSession","ConsenteraError","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","setInAppBrowser","resolveInAppBrowser","newCallbackState","parseRetryAfter","normalizeDecision","VALIDATE_PENDING_RETRY_CAP_SECONDS","callbackUrlFor","callbackStatusOf","portalIdentifier","readErrorEnvelope","ConsentGate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,kCAAkC,EAClCC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,QACZ,WAAW;AAelB,SAASC,WAAW,QAAQ,QAAQ","ignoreList":[]}
|
package/lib/module/session.js
CHANGED
|
@@ -6,7 +6,7 @@ import { NativeModules } from 'react-native';
|
|
|
6
6
|
* ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
|
|
7
7
|
* that no request builder ever read, which is the same as not having one.
|
|
8
8
|
*/
|
|
9
|
-
export const SDK_VERSION = '2.
|
|
9
|
+
export const SDK_VERSION = '2.1.0';
|
|
10
10
|
export const SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -218,7 +218,9 @@ function assertBackendBaseUrl(value) {
|
|
|
218
218
|
code: 'BACKEND_BASE_URL_REQUIRED'
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
|
-
|
|
221
|
+
// Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
|
|
222
|
+
// path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
|
|
223
|
+
return base.replace(/\/+$/, '');
|
|
222
224
|
}
|
|
223
225
|
/**
|
|
224
226
|
* The deep link handed to the platform as `callback_url`, carrying `state`.
|
|
@@ -364,7 +366,36 @@ export function portalIdentifier(identifiers, scheme) {
|
|
|
364
366
|
}
|
|
365
367
|
return [chosen, chosenValue];
|
|
366
368
|
}
|
|
369
|
+
|
|
370
|
+
/** Options for {@link ConsenteraSession.validate}. */
|
|
371
|
+
|
|
372
|
+
/** The longest the `retryWhenPending` re-ask waits, in seconds. */
|
|
373
|
+
export const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Reads `applied` and `retry_after` off a validate answer the one way every
|
|
377
|
+
* Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
|
|
378
|
+
* `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
|
|
379
|
+
* seconds), else dropped. Every other field passes through.
|
|
380
|
+
*/
|
|
381
|
+
export function normalizeDecision(raw) {
|
|
382
|
+
const r = raw && typeof raw === 'object' ? raw : {};
|
|
383
|
+
const out = {
|
|
384
|
+
...r
|
|
385
|
+
};
|
|
386
|
+
out.applied = typeof r.applied === 'boolean' ? r.applied : true;
|
|
387
|
+
const ra = r.retry_after;
|
|
388
|
+
if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);else delete out.retry_after;
|
|
389
|
+
return out;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
|
|
393
|
+
export function pendingRetryDelayMs(d) {
|
|
394
|
+
return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
|
|
395
|
+
}
|
|
367
396
|
export class ConsenteraSession {
|
|
397
|
+
/** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
|
|
398
|
+
|
|
368
399
|
constructor(cfg) {
|
|
369
400
|
this.cfg = cfg;
|
|
370
401
|
// NO DEFAULT SERVER, and the refusal names the field. The app talks to its
|
|
@@ -375,6 +406,7 @@ export class ConsenteraSession {
|
|
|
375
406
|
// or '', which used to surface as a TypeError on `.startsWith` or as a
|
|
376
407
|
// fetch to a relative path at the first request.
|
|
377
408
|
const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
|
|
409
|
+
this.base = base;
|
|
378
410
|
// Enterprise guard: consent traffic must be HTTPS in production. Plain
|
|
379
411
|
// HTTP is tolerated only for the local dev bridges, and loudly.
|
|
380
412
|
if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
|
|
@@ -417,7 +449,7 @@ export class ConsenteraSession {
|
|
|
417
449
|
const timer = setTimeout(() => controller.abort(), budget);
|
|
418
450
|
let res;
|
|
419
451
|
try {
|
|
420
|
-
res = await fetch(`${this.
|
|
452
|
+
res = await fetch(`${this.base}${path}`, {
|
|
421
453
|
method: 'POST',
|
|
422
454
|
headers: {
|
|
423
455
|
'Content-Type': 'application/json',
|
|
@@ -648,11 +680,21 @@ export class ConsenteraSession {
|
|
|
648
680
|
// Marking it async turns the throw into a rejection, so both call styles —
|
|
649
681
|
// try/await and .catch() — behave the same. Found by the F015 test below,
|
|
650
682
|
// which had to use `.rejects` and got a synchronous throw.
|
|
651
|
-
|
|
652
|
-
|
|
683
|
+
//
|
|
684
|
+
// `options.retryWhenPending` (off by default): when the answer says
|
|
685
|
+
// `applied: false` — a newer act is still being applied (platform
|
|
686
|
+
// 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
|
|
687
|
+
async validate(who, purposeCode, options = {}) {
|
|
688
|
+
const body = {
|
|
653
689
|
...principalBody(who),
|
|
654
690
|
purpose_code: purposeCode
|
|
655
|
-
}
|
|
691
|
+
};
|
|
692
|
+
const ask = async () => normalizeDecision(await this.post('/consent/validate', body));
|
|
693
|
+
const first = await ask();
|
|
694
|
+
if (!options.retryWhenPending || first.applied) return first;
|
|
695
|
+
const waitMs = pendingRetryDelayMs(first);
|
|
696
|
+
await new Promise(r => setTimeout(r, waitMs));
|
|
697
|
+
return ask();
|
|
656
698
|
}
|
|
657
699
|
|
|
658
700
|
/** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","require","eval","mod","InAppBrowser","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","purpose_code","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,OAAO;AAClC,OAAO,MAAMC,cAAc,GAAG,gBAAgBD,WAAW,EAAE;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GAAG,iBAAiBF,WAAW,iBAAiB;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,eAAeA,CAACC,MAAiC,EAAEC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC,EAAiB;EAClG,IAAI,CAACD,MAAM,EAAE,OAAO,IAAI;EACxB,MAAMG,OAAO,GAAGH,MAAM,CAACI,IAAI,CAAC,CAAC;EAC7B,IAAI,OAAO,CAACC,IAAI,CAACF,OAAO,CAAC,EAAE,OAAOG,IAAI,CAACC,GAAG,CAACC,MAAM,CAACL,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;EACzE,MAAMM,IAAI,GAAGP,IAAI,CAACQ,KAAK,CAACP,OAAO,CAAC;EAChC,IAAIK,MAAM,CAACG,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,IAAI;EACnC,OAAOH,IAAI,CAACC,GAAG,CAACD,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEH,IAAI,GAAGR,GAAG,CAAC,EAAE,KAAK,CAAC;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,eAAe,SAASC,KAAK,CAAC;EACzC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEE;;EAEA;;EAGAC,WAAWA,CACTC,OAAe,EACfC,IAMC,GAAG,CAAC,CAAC,EACN;IACA,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,iBAAiB;IAC7B,IAAI,CAACC,MAAM,GAAGF,IAAI,CAACE,MAAM;IACzB,IAAI,CAACC,IAAI,GAAGH,IAAI,CAACG,IAAI;IACrB,IAAI,CAACC,eAAe,GAAGJ,IAAI,CAACI,eAAe;IAC3C,IAAI,CAACC,SAAS,GAAGL,IAAI,CAACK,SAAS;IAC/B,IAAI,CAACC,SAAS,GAAGN,IAAI,CAACM,SAAS,IAAI,KAAK;EAC1C;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAAuC;EACnF,IAAI;IACF,MAAMC,MAAM,GAAGC,IAAI,CAACjB,KAAK,CAACe,IAAI,CAI7B;IACD,MAAMG,GAAG,GAAGF,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACG,KAAK,IAAI,OAAOH,MAAM,CAACG,KAAK,KAAK,QAAQ,IAC/FH,MAAM,CAACN,IAAI,KAAKU,SAAS,GAAGJ,MAAM,CAACG,KAAK,GAAGH,MAAM;IACtD,OAAO;MACLN,IAAI,EAAE,OAAOQ,GAAG,EAAER,IAAI,KAAK,QAAQ,IAAIQ,GAAG,CAACR,IAAI,GAAGQ,GAAG,CAACR,IAAI,GAAGU,SAAS;MACtEd,OAAO,EAAE,OAAOY,GAAG,EAAEZ,OAAO,KAAK,QAAQ,IAAIY,GAAG,CAACZ,OAAO,GAAGY,GAAG,CAACZ,OAAO,GAAGc;IAC3E,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAW;EACzC,MAAMC,CAAC,GAAIC,UAAU,CAAsEC,MAAM;EACjG,IAAI,CAACF,CAAC,EAAEG,eAAe,EAAE;IACvB,MAAM,IAAItB,eAAe,CACvB,6EAA6E,GAC3E,yEAAyE,GACzE,oEACJ,CAAC;EACH;EACA,MAAMuB,KAAK,GAAGJ,CAAC,CAACG,eAAe,CAAC,IAAIE,UAAU,CAAC,EAAE,CAAC,CAAC;EACnD,IAAIC,GAAG,GAAG,EAAE;EACZF,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAK;IACnBF,GAAG,IAAIG,MAAM,CAACC,YAAY,CAACF,CAAC,CAAC;EAC/B,CAAC,CAAC;EACF;EACA,OAAOG,IAAI,CAACL,GAAG,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC7E;;AAEA;;AAMA,IAAIC,eAA2C,GAAG,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,OAAmC,EAAQ;EACzEF,eAAe,GAAGE,OAAO;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAA+B;EAChE,IAAIH,eAAe,EAAE,OAAOA,eAAe;EAC3C,IAAI;IACF;IACA;IACA,MAAMI,GAAG,GAAIhB,UAAU,CAA2CiB,OAAO,IACnEC,IAAI,CAAC,SAAS,CAA6B;IACjD,MAAMC,GAAG,GAAGH,GAAG,CAAC,kCAAkC,CAKjD;IACD,MAAMT,CAAC,GAAGY,GAAG,EAAEC,YAAY;IAC3B,IAAI,CAACb,CAAC,IAAI,CAAC7C,aAAa,CAAC2D,cAAc,EAAE,OAAO,IAAI;IACpD,OAAO;MACLC,QAAQ,EAAE,MAAAA,CAAOC,GAAG,EAAEC,cAAc,KAAK;QACvC,MAAMC,CAAC,GAAG,MAAMlB,CAAC,CAACe,QAAQ,CAACC,GAAG,EAAEC,cAAc,EAAE;UAC9CE,mBAAmB,EAAE,KAAK;UAC1BC,SAAS,EAAE,IAAI;UACfC,kBAAkB,EAAE;QACtB,CAAC,CAAC;QACF,OAAOH,CAAC,CAACI,IAAI,KAAK,SAAS,IAAIJ,CAAC,CAACF,GAAG,GAAGE,CAAC,CAACF,GAAG,GAAG,IAAI;MACrD;IACF,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAASO,oBAAoBA,CAACC,KAAc,EAAU;EACpD,MAAMC,IAAI,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAAC5D,IAAI,CAAC,CAAC,GAAG,EAAE;EAC1D;EACA;EACA;EACA;EACA,IAAI,CAAC,wBAAwB,CAACC,IAAI,CAAC4D,IAAI,CAAC,EAAE;IACxC,MAAM,IAAIpD,eAAe,CACvB,sFAAsF,GACpF,mFAAmF,GACnF,iBAAiB,EACnB;MAAEO,IAAI,EAAE;IAA4B,CACtC,CAAC;EACH;EACA,OAAO4C,KAAK;AACd;AA4CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,cAAcA,CAACC,GAAkB,EAAEC,KAAa,EAAU;EACxE,MAAMC,IAAI,GAAGF,GAAG,CAACG,YAAY,IAAI,SAAS;EAC1C,MAAMC,IAAI,GAAGJ,GAAG,CAACK,YAAY,IAAI,WAAW;EAC5C,OAAO,GAAGL,GAAG,CAACM,cAAc,MAAMJ,IAAI,GAAGE,IAAI,UAAUG,kBAAkB,CAACN,KAAK,CAAC,EAAE;AACpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,OAAO,SAASO,gBAAgBA,CAACC,GAA8B,EAAkB;EAC/E,OAAOA,GAAG,KAAK,SAAS,IAAIA,GAAG,KAAK,SAAS,IAAIA,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG,SAAS;AACrF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,OAAO,SAASC,aAAaA,CAACC,GAAiB,EAA2B;EACxE,IAAI,iBAAiB,IAAIA,GAAG,IAAIA,GAAG,CAACC,eAAe,EAAE;IACnD,OAAO;MAAEC,iBAAiB,EAAEF,GAAG,CAACC;IAAgB,CAAC;EACnD;EACA,MAAME,GAAG,GAAGH,GAAG,CAACI,wBAAwB;EACxC,IAAI,CAACD,GAAG,IAAIE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,MAAM,KAAK,CAAC,EAAE;IACzC;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAM,IAAIxE,eAAe,CACvB,oEAAoE,GAClE,kEAAkE,GAClE,2EAA2E,EAC7E;MAAEO,IAAI,EAAE;IAAsB,CAChC,CAAC;EACH;EACA,OAAO;IAAEkE,0BAA0B,EAAEL;EAAI,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAC9BC,WAAqC,EACrCC,MAA0B,EACK;EAC/B,MAAMC,OAAO,GAAGP,MAAM,CAACO,OAAO,CAACF,WAAW,IAAI,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAK,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,CAACxF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;EAC7G,IAAIsF,OAAO,CAACG,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,KAAKA,CAAC,KAAK,OAAO,CAAC,EAAE;IACxC,MAAM,IAAIjF,eAAe,CACvB,0FAA0F,EAC1F;MAAEO,IAAI,EAAE;IAA2B,CACrC,CAAC;EACH;EACA,IAAIsE,OAAO,CAACL,MAAM,KAAK,CAAC,EAAE;IACxB,MAAM,IAAIxE,eAAe,CACvB,yFAAyF,GACvF,2CAA2C,EAC7C;MAAEO,IAAI,EAAE;IAAsB,CAChC,CAAC;EACH;EACA,MAAM2E,IAAI,GAAGL,OAAO,CAACL,MAAM,KAAK,CAAC,GAAGK,OAAO,CAAC,CAAC,CAAC,GAAG5D,SAAS;EAC1D,IAAIiE,IAAI,EAAE,OAAO,CAACA,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;EACnC,MAAMC,MAAM,GAAG,CAACP,MAAM,IAAI,EAAE,EAAEQ,IAAI,CAAEC,KAAK,IAAKR,OAAO,CAACG,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,KAAKA,CAAC,KAAKI,KAAK,CAAC,CAAC;EACjF,MAAMC,WAAW,GAAGH,MAAM,KAAKlE,SAAS,GAAGA,SAAS,GAAG0D,WAAW,CAACQ,MAAM,CAAC;EAC1E,IAAIA,MAAM,KAAKlE,SAAS,IAAIqE,WAAW,KAAKrE,SAAS,EAAE;IACrD,MAAM,IAAIjB,eAAe,CACvB,mDAAmD6E,OAAO,CAACL,MAAM,cAAc,GAC7E,IAAIK,OAAO,CAACU,GAAG,CAAC,CAAC,CAACN,CAAC,CAAC,KAAKA,CAAC,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,8CAA8C,GACpF,sCAAsC,EACxC;MAAEjF,IAAI,EAAE;IAAuB,CACjC,CAAC;EACH;EACA,OAAO,CAAC4E,MAAM,EAAEG,WAAW,CAAC;AAC9B;AAuFA,OAAO,MAAMG,iBAAiB,CAAC;EAC7BvF,WAAWA,CAASoD,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IACpC;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMF,IAAI,GAAGF,oBAAoB,CAACI,GAAG,EAAEoC,cAAc,CAAC;IACtD;IACA;IACA,IAAItC,IAAI,CAACuC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,oDAAoD,CAACnG,IAAI,CAAC4D,IAAI,CAAC,EAAE;MAClGE,GAAG,CAACsC,YAAY,GAAG,wEAAwE,CAAC;IAC9F;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcC,IAAIA,CAAInC,IAAY,EAAEoC,IAAa,EAAE1F,IAA8B,GAAG,CAAC,CAAC,EAAc;IAClG,MAAM2F,YAAY,GAAG,IAAI,CAACzC,GAAG,CAAC0C,gBAAgB,IAAI,KAAK;IACvD,MAAMC,QAAQ,GAAG5G,IAAI,CAACD,GAAG,CAAC,CAAC,IAAI,IAAI,CAACkE,GAAG,CAAC4C,cAAc,IAAIH,YAAY,GAAG,CAAC,CAAC;IAC3E,MAAMI,WAAW,GAAG1G,IAAI,CAACM,GAAG,CAAC,CAAC,EAAE,IAAI,CAACuD,GAAG,CAAC6C,WAAW,IAAI,CAAC,CAAC;IAC1D;IACA;IACA,MAAMC,cAAc,GAAGhG,IAAI,CAACiG,UAAU,KAAK,KAAK,GAAGpF,SAAS,GAAGC,gBAAgB,CAAC,CAAC;IAEjF,IAAIoF,SAAsC;IAC1C,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAIJ,WAAW,EAAEI,OAAO,EAAE,EAAE;MACvD,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;MACxC,MAAMC,MAAM,GAAGjH,IAAI,CAACC,GAAG,CAACqG,YAAY,EAAEtG,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEkG,QAAQ,GAAG5G,IAAI,CAACD,GAAG,CAAC,CAAC,CAAC,CAAC;MACzE,MAAMuH,KAAK,GAAGC,UAAU,CAAC,MAAMJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEH,MAAM,CAAC;MAC1D,IAAII,GAAa;MACjB,IAAI;QACFA,GAAG,GAAG,MAAMC,KAAK,CAAC,GAAG,IAAI,CAACzD,GAAG,CAACoC,cAAc,GAAGhC,IAAI,EAAE,EAAE;UACrDsD,MAAM,EAAE,MAAM;UACdC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAEhI,cAAc;YAC5B,kBAAkB,EAAED,cAAc;YAClC,IAAIoH,cAAc,GAAG;cAAE,iBAAiB,EAAEA;YAAe,CAAC,GAAG,CAAC,CAAC;UACjE,CAAC;UACDN,IAAI,EAAEhF,IAAI,CAACoG,SAAS,CAACpB,IAAI,CAAC;UAC1BqB,MAAM,EAAEX,UAAU,CAACW;QACrB,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,CAAU,EAAE;QACnB,MAAMC,GAAG,GAAGD,CAAwC;QACpDd,SAAS,GAAG,IAAItG,eAAe,CAC7BqH,GAAG,EAAEhH,IAAI,KAAK,YAAY,GACtB,cAAcqD,IAAI,6BAA6BgD,MAAM,IAAI,GACzD,cAAchD,IAAI,KAAK2D,GAAG,EAAElH,OAAO,IAAI,eAAe,EAAE,EAC5D;UAAEO,SAAS,EAAE;QAAK,CACpB,CAAC;QACD,IAAI6F,OAAO,GAAGJ,WAAW,KAAK,MAAM,IAAI,CAACmB,OAAO,CAACf,OAAO,EAAE,IAAI,EAAEN,QAAQ,CAAC,CAAC,EAAE;QAC5E,MAAMK,SAAS;MACjB,CAAC,SAAS;QACRiB,YAAY,CAACZ,KAAK,CAAC;MACrB;MAEA,MAAMlG,SAAS,GAAGqG,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,cAAc,CAAC,IAAIV,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,cAAc,CAAC,IAAIvG,SAAS;MACjG,MAAML,IAAI,GAAG,MAAMkG,GAAG,CAAClG,IAAI,CAAC,CAAC;MAC7B,IAAIkG,GAAG,CAACW,EAAE,EAAE;QACV,IAAI;UACF,OAAO3G,IAAI,CAACjB,KAAK,CAACe,IAAI,CAAC;QACzB,CAAC,CAAC,MAAM;UACN;UACA;UACA,MAAM,IAAIZ,eAAe,CACvB,cAAc0D,IAAI,kCAAkC9C,IAAI,CAAC4D,MAAM,SAAS,EACxE;YAAElE,MAAM,EAAEwG,GAAG,CAACxG,MAAM;YAAEG;UAAU,CAClC,CAAC;QACH;MACF;;MAEA;MACA;MACA;MACA,MAAMiH,QAAQ,GAAG/G,iBAAiB,CAACC,IAAI,CAAC;MACxC,MAAML,IAAI,GAAGmH,QAAQ,CAACnH,IAAI;MAC1B,MAAMG,SAAS,GAAGoG,GAAG,CAACxG,MAAM,KAAK,GAAG,IAAIwG,GAAG,CAACxG,MAAM,IAAI,GAAG;MACzDgG,SAAS,GAAG,IAAItG,eAAe,CAC7B,cAAc0D,IAAI,gBAAgBoD,GAAG,CAACxG,MAAM,GAAGC,IAAI,GAAG,KAAKA,IAAI,GAAG,GAAG,EAAE,EAAE,EACzE;QAAED,MAAM,EAAEwG,GAAG,CAACxG,MAAM;QAAEC,IAAI;QAAEC,eAAe,EAAEkH,QAAQ,CAACvH,OAAO;QAAEM,SAAS;QAAEC;MAAU,CACtF,CAAC;MACD,IAAIA,SAAS,IAAI6F,OAAO,GAAGJ,WAAW,EAAE;QACtC,MAAMsB,EAAE,GAAG,MAAM,IAAI,CAACH,OAAO,CAACf,OAAO,EAAEO,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,aAAa,CAAC,EAAEvB,QAAQ,CAAC;QAChF,IAAIwB,EAAE,EAAE;MACV;MACA,MAAMnB,SAAS;IACjB;IACA;IACA,MAAMA,SAAS,IAAI,IAAItG,eAAe,CAAC,cAAc0D,IAAI,uBAAuB,CAAC;EACnF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAc4D,OAAOA,CAACf,OAAe,EAAEoB,UAAyB,EAAE1B,QAAgB,EAAoB;IACpG,IAAI2B,MAAc;IAClB,MAAMC,WAAW,GAAG3I,eAAe,CAACyI,UAAU,CAAC;IAC/C,IAAIE,WAAW,KAAK,IAAI,EAAE;MACxB;MACA;MACAD,MAAM,GAAGC,WAAW;IACtB,CAAC,MAAM;MACL,MAAMzE,IAAI,GAAG,IAAI,CAACE,GAAG,CAACwE,gBAAgB,IAAI,GAAG;MAC7CF,MAAM,GAAGnI,IAAI,CAACsI,MAAM,CAAC,CAAC,GAAG3E,IAAI,GAAG3D,IAAI,CAACuI,GAAG,CAAC,CAAC,EAAEzB,OAAO,GAAG,CAAC,CAAC;IAC1D;IACA,IAAIlH,IAAI,CAACD,GAAG,CAAC,CAAC,GAAGwI,MAAM,IAAI3B,QAAQ,EAAE,OAAO,KAAK;IACjD,MAAM,IAAIgC,OAAO,CAAEpF,CAAC,IAAK+D,UAAU,CAAC/D,CAAC,EAAE+E,MAAM,CAAC,CAAC;IAC/C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMM,aAAaA,CAAC9F,GAAyB,EAA2B;IACtE;IACA;IACA;IACA;IACA;IACA,MAAMmB,KAAK,GAAGrC,gBAAgB,CAAC,CAAC;IAChC,MAAMiH,QAAQ,GAAG9E,cAAc,CAAC,IAAI,CAACC,GAAG,EAAEC,KAAK,CAAC;IAChD,MAAM6E,OAAO,GAAG,MAAM,IAAI,CAACvC,IAAI,CAAiB,mBAAmB,EAAE;MACnEwC,oBAAoB,EAAEjG,GAAG,CAACkG,kBAAkB;MAC5CC,OAAO,EAAE,UAAU;MACnBC,YAAY,EAAEL,QAAQ;MACtB;MACA;MACA;MACA,IAAI/F,GAAG,CAACqG,aAAa,IAAInE,MAAM,CAACC,IAAI,CAACnC,GAAG,CAACqG,aAAa,CAAC,CAACjE,MAAM,GAAG,CAAC,GAC9D;QAAEkE,cAAc,EAAEtG,GAAG,CAACqG;MAAc,CAAC,GACrC,CAAC,CAAC,CAAC;MACP,IAAIrG,GAAG,CAAC8B,eAAe,GAAG;QAAEC,iBAAiB,EAAE/B,GAAG,CAAC8B;MAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1E,IAAI9B,GAAG,CAACuG,UAAU,GAAG;QAAEC,WAAW,EAAExG,GAAG,CAACuG;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1D,IAAIvG,GAAG,CAACyG,mBAAmB,KAAK5H,SAAS,GAAG;QAAE6H,qBAAqB,EAAE1G,GAAG,CAACyG;MAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;MACpG,IAAIzG,GAAG,CAAC2G,WAAW,GAAG;QAAEC,GAAG,EAAE;UAAEC,aAAa,EAAE7G,GAAG,CAAC2G;QAAY;MAAE,CAAC,GAAG,CAAC,CAAC,CAAC;MACvE,IAAI3G,GAAG,CAAC8G,QAAQ,GAAG;QAAEA,QAAQ,EAAE9G,GAAG,CAAC8G;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACnD;MACA,IAAI9G,GAAG,CAAC+G,aAAa,GAAG;QAAEC,cAAc,EAAEhH,GAAG,CAAC+G;MAAc,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAI/G,GAAG,CAACiH,aAAa,GAAG;QAAEC,cAAc,EAAElH,GAAG,CAACiH;MAAc,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAIjH,GAAG,CAACmH,oBAAoB,GAAG;QAAEC,qBAAqB,EAAEpH,GAAG,CAACmH;MAAqB,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC,CAAC;IACFnB,OAAO,CAACqB,aAAa,GAAGlG,KAAK;IAC7B,OAAO6E,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMsB,cAAcA,CAACtB,OAAgC,EAA0B;IAC7E,MAAMzF,GAAG,GAAG,OAAOyF,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGA,OAAO,CAACuB,WAAW;IACvE,MAAMC,OAAO,GAAGzH,mBAAmB,CAAC,CAAC;IACrC,IAAI,CAACyH,OAAO,EAAE;MACZ,MAAM,IAAI5J,eAAe,CACvB,2EAA2E,GACzE,gFAAgF,GAChF,gFAAgF,GAChF,oFAAoF,GACpF,iDACJ,CAAC;IACH;IACA,MAAM6J,QAAQ,GAAG,GAAG,IAAI,CAACvG,GAAG,CAACM,cAAc,KAAK;IAChD,MAAMkG,MAAM,GAAG,MAAMF,OAAO,CAAClH,QAAQ,CAACC,GAAG,EAAEkH,QAAQ,CAAC;IACpD,OAAOC,MAAM;EACf;;EAEA;AACF;AACA;AACA;EACE,MAAcC,aAAaA,CAACpH,GAAW,EAAiB;IACtD,MAAMiH,OAAO,GAAGzH,mBAAmB,CAAC,CAAC;IACrC,IAAI,CAACyH,OAAO,EAAE;MACZ,MAAM,IAAI5J,eAAe,CACvB,4EACF,CAAC;IACH;IACA,MAAM4J,OAAO,CAAClH,QAAQ,CAACC,GAAG,EAAE,GAAG,IAAI,CAACW,GAAG,CAACM,cAAc,KAAK,CAAC;EAC9D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMoG,QAAQA,CAAC/F,GAAiB,EAAEgG,WAAmB,EAA4B;IAC/E,OAAO,IAAI,CAACpE,IAAI,CAAkB,mBAAmB,EAAE;MACrD,GAAG7B,aAAa,CAACC,GAAG,CAAC;MACrBiG,YAAY,EAAED;IAChB,CAAC,CAAC;EACJ;;EAEA;EACA,MAAME,QAAQA,CAAClG,GAAiB,EAAEmG,QAAkB,EAAoB;IACtE,OAAO,IAAI,CAACvE,IAAI,CAAC,mBAAmB,EAAE;MAAE,GAAG7B,aAAa,CAACC,GAAG,CAAC;MAAEmG;IAAS,CAAC,CAAC;EAC5E;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACA;EACA,MAAMC,mBAAmBA,CAAC1F,WAAqC,EAA0B;IACvF,MAAM,CAAC2F,IAAI,EAAEnH,KAAK,CAAC,GAAGuB,gBAAgB,CAACC,WAAW,EAAE,IAAI,CAACrB,GAAG,CAACiH,gBAAgB,CAAC;IAC9E,OAAO,IAAI,CAAC1E,IAAI,CAAgB,0BAA0B,EAAE;MAC1D2E,kBAAkB,EAAErH,KAAK;MACzBsH,uBAAuB,EAAEH;IAC3B,CAAC,CAAC;EACJ;;EAEA;EACA,MAAMI,UAAUA,CAAC/F,WAAqC,EAAiB;IACrE,MAAMgG,CAAC,GAAG,MAAM,IAAI,CAACN,mBAAmB,CAAC1F,WAAW,CAAC;IACrD,MAAM,IAAI,CAACoF,aAAa,CAACY,CAAC,CAACC,UAAU,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,aAAaA,CAAClI,GAAW,EAAEmI,aAA4B,EAAmB;IACxE,IAAIjK,MAAW;IACf,IAAI;MACFA,MAAM,GAAG,IAAIkK,GAAG,CAACpI,GAAG,CAAC;IACvB,CAAC,CAAC,MAAM;MACN,MAAM,IAAI3C,eAAe,CAAC,sBAAsB2C,GAAG,CAACqI,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC;IAC5F;IACA;IACA,MAAMpG,MAAM,GAAG/D,MAAM,CAACoK,QAAQ,CAAClJ,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACmJ,WAAW,CAAC,CAAC;IAC9D,IAAItG,MAAM,KAAK,IAAI,CAACtB,GAAG,CAACM,cAAc,CAACsH,WAAW,CAAC,CAAC,EAAE;MACpD,MAAM,IAAIlL,eAAe,CACvB,iCAAiC4E,MAAM,cAAc,IAAI,CAACtB,GAAG,CAACM,cAAc,EAC9E,CAAC;IACH;IACA,MAAMuH,YAAY,GAAG,CAAC,IAAI,CAAC7H,GAAG,CAACG,YAAY,IAAI,SAAS,EAAEyH,WAAW,CAAC,CAAC;IACvE,IAAIrK,MAAM,CAACuK,QAAQ,CAACF,WAAW,CAAC,CAAC,KAAKC,YAAY,EAAE;MAClD,MAAM,IAAInL,eAAe,CACvB,+BAA+Ba,MAAM,CAACuK,QAAQ,cAAcD,YAAY,EAC1E,CAAC;IACH;IACA,MAAME,YAAY,GAAG,IAAI,CAAC/H,GAAG,CAACK,YAAY,IAAI,WAAW;IACzD,IAAI9C,MAAM,CAACyK,QAAQ,KAAKD,YAAY,EAAE;MACpC,MAAM,IAAIrL,eAAe,CACvB,+BAA+Ba,MAAM,CAACyK,QAAQ,cAAcD,YAAY,EAC1E,CAAC;IACH;IACA,MAAME,UAAkC,GAAG,CAAC,CAAC;IAC7C1K,MAAM,CAAC2K,YAAY,CAAC9J,OAAO,CAAC,CAACqD,CAAC,EAAEE,CAAC,KAAK;MACpCsG,UAAU,CAACtG,CAAC,CAAC,GAAGF,CAAC;IACnB,CAAC,CAAC;IACF,IAAI+F,aAAa,KAAK,IAAI,IAAIS,UAAU,CAAChI,KAAK,KAAKuH,aAAa,EAAE;MAChE,MAAM,IAAI9K,eAAe,CACvB,gFACF,CAAC;IACH;IACA,OAAO;MACLyL,SAAS,EAAEF,UAAU,CAACG,UAAU;MAChCC,UAAU,EAAEJ,UAAU,CAACK,WAAW;MAClCtL,MAAM,EAAEiL,UAAU,CAACjL,MAAM;MACzBuL,cAAc,EAAE/H,gBAAgB,CAACyH,UAAU,CAACjL,MAAM,CAAC;MACnDwL,OAAO,EAAEP,UAAU,CAACO,OAAO,KAAK,GAAG;MACnCvI,KAAK,EAAEgI,UAAU,CAAChI,KAAK;MACvBwI,SAAS,EAAER,UAAU,CAACS,GAAG;MACzBT;IACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","require","eval","mod","InAppBrowser","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","VALIDATE_PENDING_RETRY_CAP_SECONDS","normalizeDecision","out","applied","ra","retry_after","isFinite","ceil","pendingRetryDelayMs","d","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","options","purpose_code","ask","first","retryWhenPending","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* third-party SDK with init/revoke hooks; refresh() starts/stops them on the
|
|
19
19
|
* live consent state.
|
|
20
20
|
*/
|
|
21
|
-
export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope, } from './session';
|
|
22
|
-
export type { SessionConfig, ConsentSession, ConsentCallback, CallbackStatus, ConsentDecision, PortalSession, CreateSessionRequest, PrincipalRef, DataPrincipalIdentifiers, GuardianVerificationPending, InAppBrowserAdapter, } from './session';
|
|
21
|
+
export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, normalizeDecision, VALIDATE_PENDING_RETRY_CAP_SECONDS, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope, } from './session';
|
|
22
|
+
export type { SessionConfig, ConsentSession, ConsentCallback, CallbackStatus, ConsentDecision, ValidateOptions, PortalSession, CreateSessionRequest, PrincipalRef, DataPrincipalIdentifiers, GuardianVerificationPending, InAppBrowserAdapter, } from './session';
|
|
23
23
|
export { ConsentGate } from './gate';
|
|
24
24
|
export type { Tracker, GateState } from './gate';
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kCAAkC,EAClC,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
|
|
5
5
|
* that no request builder ever read, which is the same as not having one.
|
|
6
6
|
*/
|
|
7
|
-
export declare const SDK_VERSION = "2.
|
|
8
|
-
export declare const SDK_IDENTIFIER = "react-native/2.
|
|
7
|
+
export declare const SDK_VERSION = "2.1.0";
|
|
8
|
+
export declare const SDK_IDENTIFIER = "react-native/2.1.0";
|
|
9
9
|
/**
|
|
10
10
|
* The User-Agent the platform's audit coarsening actually parses.
|
|
11
11
|
*
|
|
@@ -26,7 +26,7 @@ export declare const SDK_IDENTIFIER = "react-native/2.0.0";
|
|
|
26
26
|
* fingerprint of the person's device. A support ticket needs the exact build, and
|
|
27
27
|
* that is what the custom header carries, outside the audit trail.
|
|
28
28
|
*/
|
|
29
|
-
export declare const SDK_USER_AGENT = "ConsenteraSDK/2.
|
|
29
|
+
export declare const SDK_USER_AGENT = "ConsenteraSDK/2.1.0 (react-native)";
|
|
30
30
|
/**
|
|
31
31
|
* `Retry-After` in either RFC 9110 form — delta-seconds, or an HTTP-date — as
|
|
32
32
|
* milliseconds, or null when the header is absent or unparseable.
|
|
@@ -356,7 +356,45 @@ export interface ConsentDecision {
|
|
|
356
356
|
purpose_code?: string;
|
|
357
357
|
effective_at?: string;
|
|
358
358
|
expires_at?: string;
|
|
359
|
+
/**
|
|
360
|
+
* Whether this answer reflects every consent act the platform has already
|
|
361
|
+
* accepted for this purpose (platform 936715ad71, F129). `false` means a
|
|
362
|
+
* NEWER act is still being applied: the answer is the previously recorded
|
|
363
|
+
* state (typically a DENY while a fresh grant is queued), and asking again
|
|
364
|
+
* after `retry_after` seconds should see it. A newer refusal is never
|
|
365
|
+
* pending; it decides at once.
|
|
366
|
+
*
|
|
367
|
+
* Always set by this SDK: a platform older than 936715ad71 does not send it,
|
|
368
|
+
* and a value that is not a JSON boolean is ignored; both read as `true`.
|
|
369
|
+
*/
|
|
370
|
+
applied: boolean;
|
|
371
|
+
/**
|
|
372
|
+
* Seconds to wait before asking again, sent only with `applied: false`.
|
|
373
|
+
* Absent, negative or non-numeric values are dropped.
|
|
374
|
+
*/
|
|
375
|
+
retry_after?: number;
|
|
359
376
|
}
|
|
377
|
+
/** Options for {@link ConsenteraSession.validate}. */
|
|
378
|
+
export interface ValidateOptions {
|
|
379
|
+
/**
|
|
380
|
+
* Re-ask ONCE when the answer says `applied: false`, after the server's
|
|
381
|
+
* `retry_after` (1 s when it sent none), capped at
|
|
382
|
+
* {@link VALIDATE_PENDING_RETRY_CAP_SECONDS}. The second answer is returned
|
|
383
|
+
* whatever it says. Off by default.
|
|
384
|
+
*/
|
|
385
|
+
retryWhenPending?: boolean;
|
|
386
|
+
}
|
|
387
|
+
/** The longest the `retryWhenPending` re-ask waits, in seconds. */
|
|
388
|
+
export declare const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
|
|
389
|
+
/**
|
|
390
|
+
* Reads `applied` and `retry_after` off a validate answer the one way every
|
|
391
|
+
* Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
|
|
392
|
+
* `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
|
|
393
|
+
* seconds), else dropped. Every other field passes through.
|
|
394
|
+
*/
|
|
395
|
+
export declare function normalizeDecision(raw: unknown): ConsentDecision;
|
|
396
|
+
/** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
|
|
397
|
+
export declare function pendingRetryDelayMs(d: Pick<ConsentDecision, 'retry_after'>): number;
|
|
360
398
|
export interface PortalSession {
|
|
361
399
|
portal_url: string;
|
|
362
400
|
expires_in_seconds: number;
|
|
@@ -416,6 +454,8 @@ export interface CreateSessionRequest {
|
|
|
416
454
|
}
|
|
417
455
|
export declare class ConsenteraSession {
|
|
418
456
|
private cfg;
|
|
457
|
+
/** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
|
|
458
|
+
private readonly base;
|
|
419
459
|
constructor(cfg: SessionConfig);
|
|
420
460
|
/**
|
|
421
461
|
* ONE transport for every road.
|
|
@@ -521,7 +561,7 @@ export declare class ConsenteraSession {
|
|
|
521
561
|
* key fields — the mobile atom is `mobile` here and on create alike (F015);
|
|
522
562
|
* `phone` is refused by name.
|
|
523
563
|
*/
|
|
524
|
-
validate(who: PrincipalRef, purposeCode: string): Promise<ConsentDecision>;
|
|
564
|
+
validate(who: PrincipalRef, purposeCode: string, options?: ValidateOptions): Promise<ConsentDecision>;
|
|
525
565
|
/** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
|
|
526
566
|
withdraw(who: PrincipalRef, purposes: string[]): Promise<unknown>;
|
|
527
567
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,cAAc,uBAAgC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,uCAAgD,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,IAAI,CAOlG;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB;CAUT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvE;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,GAAG,IAAI,CA4BhE;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -28,6 +28,8 @@ export {
|
|
|
28
28
|
resolveInAppBrowser,
|
|
29
29
|
newCallbackState,
|
|
30
30
|
parseRetryAfter,
|
|
31
|
+
normalizeDecision,
|
|
32
|
+
VALIDATE_PENDING_RETRY_CAP_SECONDS,
|
|
31
33
|
callbackUrlFor,
|
|
32
34
|
callbackStatusOf,
|
|
33
35
|
portalIdentifier,
|
|
@@ -39,6 +41,7 @@ export type {
|
|
|
39
41
|
ConsentCallback,
|
|
40
42
|
CallbackStatus,
|
|
41
43
|
ConsentDecision,
|
|
44
|
+
ValidateOptions,
|
|
42
45
|
PortalSession,
|
|
43
46
|
CreateSessionRequest,
|
|
44
47
|
PrincipalRef,
|
package/src/session.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { NativeModules } from 'react-native';
|
|
|
6
6
|
* ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
|
|
7
7
|
* that no request builder ever read, which is the same as not having one.
|
|
8
8
|
*/
|
|
9
|
-
export const SDK_VERSION = '2.
|
|
9
|
+
export const SDK_VERSION = '2.1.0';
|
|
10
10
|
export const SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -250,7 +250,9 @@ function assertBackendBaseUrl(value: unknown): string {
|
|
|
250
250
|
{ code: 'BACKEND_BASE_URL_REQUIRED' },
|
|
251
251
|
);
|
|
252
252
|
}
|
|
253
|
-
|
|
253
|
+
// Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
|
|
254
|
+
// path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
|
|
255
|
+
return base.replace(/\/+$/, '');
|
|
254
256
|
}
|
|
255
257
|
|
|
256
258
|
export interface SessionConfig {
|
|
@@ -554,6 +556,58 @@ export interface ConsentDecision {
|
|
|
554
556
|
purpose_code?: string;
|
|
555
557
|
effective_at?: string;
|
|
556
558
|
expires_at?: string;
|
|
559
|
+
/**
|
|
560
|
+
* Whether this answer reflects every consent act the platform has already
|
|
561
|
+
* accepted for this purpose (platform 936715ad71, F129). `false` means a
|
|
562
|
+
* NEWER act is still being applied: the answer is the previously recorded
|
|
563
|
+
* state (typically a DENY while a fresh grant is queued), and asking again
|
|
564
|
+
* after `retry_after` seconds should see it. A newer refusal is never
|
|
565
|
+
* pending; it decides at once.
|
|
566
|
+
*
|
|
567
|
+
* Always set by this SDK: a platform older than 936715ad71 does not send it,
|
|
568
|
+
* and a value that is not a JSON boolean is ignored; both read as `true`.
|
|
569
|
+
*/
|
|
570
|
+
applied: boolean;
|
|
571
|
+
/**
|
|
572
|
+
* Seconds to wait before asking again, sent only with `applied: false`.
|
|
573
|
+
* Absent, negative or non-numeric values are dropped.
|
|
574
|
+
*/
|
|
575
|
+
retry_after?: number;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
/** Options for {@link ConsenteraSession.validate}. */
|
|
579
|
+
export interface ValidateOptions {
|
|
580
|
+
/**
|
|
581
|
+
* Re-ask ONCE when the answer says `applied: false`, after the server's
|
|
582
|
+
* `retry_after` (1 s when it sent none), capped at
|
|
583
|
+
* {@link VALIDATE_PENDING_RETRY_CAP_SECONDS}. The second answer is returned
|
|
584
|
+
* whatever it says. Off by default.
|
|
585
|
+
*/
|
|
586
|
+
retryWhenPending?: boolean;
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
/** The longest the `retryWhenPending` re-ask waits, in seconds. */
|
|
590
|
+
export const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
|
|
591
|
+
|
|
592
|
+
/**
|
|
593
|
+
* Reads `applied` and `retry_after` off a validate answer the one way every
|
|
594
|
+
* Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
|
|
595
|
+
* `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
|
|
596
|
+
* seconds), else dropped. Every other field passes through.
|
|
597
|
+
*/
|
|
598
|
+
export function normalizeDecision(raw: unknown): ConsentDecision {
|
|
599
|
+
const r = (raw && typeof raw === 'object' ? raw : {}) as Record<string, unknown>;
|
|
600
|
+
const out: Record<string, unknown> = { ...r };
|
|
601
|
+
out.applied = typeof r.applied === 'boolean' ? r.applied : true;
|
|
602
|
+
const ra = r.retry_after;
|
|
603
|
+
if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);
|
|
604
|
+
else delete out.retry_after;
|
|
605
|
+
return out as unknown as ConsentDecision;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
/** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
|
|
609
|
+
export function pendingRetryDelayMs(d: Pick<ConsentDecision, 'retry_after'>): number {
|
|
610
|
+
return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
|
|
557
611
|
}
|
|
558
612
|
|
|
559
613
|
export interface PortalSession {
|
|
@@ -634,6 +688,9 @@ export interface CreateSessionRequest {
|
|
|
634
688
|
}
|
|
635
689
|
|
|
636
690
|
export class ConsenteraSession {
|
|
691
|
+
/** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
|
|
692
|
+
private readonly base: string;
|
|
693
|
+
|
|
637
694
|
constructor(private cfg: SessionConfig) {
|
|
638
695
|
// NO DEFAULT SERVER, and the refusal names the field. The app talks to its
|
|
639
696
|
// OWN backend and nothing else, so no host this SDK could ship would ever
|
|
@@ -643,6 +700,7 @@ export class ConsenteraSession {
|
|
|
643
700
|
// or '', which used to surface as a TypeError on `.startsWith` or as a
|
|
644
701
|
// fetch to a relative path at the first request.
|
|
645
702
|
const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
|
|
703
|
+
this.base = base;
|
|
646
704
|
// Enterprise guard: consent traffic must be HTTPS in production. Plain
|
|
647
705
|
// HTTP is tolerated only for the local dev bridges, and loudly.
|
|
648
706
|
if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
|
|
@@ -686,7 +744,7 @@ export class ConsenteraSession {
|
|
|
686
744
|
const timer = setTimeout(() => controller.abort(), budget);
|
|
687
745
|
let res: Response;
|
|
688
746
|
try {
|
|
689
|
-
res = await fetch(`${this.
|
|
747
|
+
res = await fetch(`${this.base}${path}`, {
|
|
690
748
|
method: 'POST',
|
|
691
749
|
headers: {
|
|
692
750
|
'Content-Type': 'application/json',
|
|
@@ -906,11 +964,22 @@ export class ConsenteraSession {
|
|
|
906
964
|
// Marking it async turns the throw into a rejection, so both call styles —
|
|
907
965
|
// try/await and .catch() — behave the same. Found by the F015 test below,
|
|
908
966
|
// which had to use `.rejects` and got a synchronous throw.
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
967
|
+
//
|
|
968
|
+
// `options.retryWhenPending` (off by default): when the answer says
|
|
969
|
+
// `applied: false` — a newer act is still being applied (platform
|
|
970
|
+
// 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
|
|
971
|
+
async validate(
|
|
972
|
+
who: PrincipalRef,
|
|
973
|
+
purposeCode: string,
|
|
974
|
+
options: ValidateOptions = {},
|
|
975
|
+
): Promise<ConsentDecision> {
|
|
976
|
+
const body = { ...principalBody(who), purpose_code: purposeCode };
|
|
977
|
+
const ask = async () => normalizeDecision(await this.post<unknown>('/consent/validate', body));
|
|
978
|
+
const first = await ask();
|
|
979
|
+
if (!options.retryWhenPending || first.applied) return first;
|
|
980
|
+
const waitMs = pendingRetryDelayMs(first);
|
|
981
|
+
await new Promise((r) => setTimeout(r, waitMs));
|
|
982
|
+
return ask();
|
|
914
983
|
}
|
|
915
984
|
|
|
916
985
|
/** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
|