@supabase/gotrue-js 2.108.2 → 2.112.3
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 +6 -2
- package/dist/main/GoTrueAdminApi.d.ts +1 -4
- package/dist/main/GoTrueAdminApi.d.ts.map +1 -1
- package/dist/main/GoTrueAdminApi.js +1 -4
- package/dist/main/GoTrueAdminApi.js.map +1 -1
- package/dist/main/GoTrueClient.d.ts +67 -21
- package/dist/main/GoTrueClient.d.ts.map +1 -1
- package/dist/main/GoTrueClient.js +217 -68
- package/dist/main/GoTrueClient.js.map +1 -1
- package/dist/main/lib/constants.d.ts +13 -0
- package/dist/main/lib/constants.d.ts.map +1 -1
- package/dist/main/lib/constants.js +14 -1
- package/dist/main/lib/constants.js.map +1 -1
- package/dist/main/lib/errors.d.ts +1 -1
- package/dist/main/lib/fetch.d.ts.map +1 -1
- package/dist/main/lib/fetch.js +12 -6
- package/dist/main/lib/fetch.js.map +1 -1
- package/dist/main/lib/helpers.d.ts +50 -1
- package/dist/main/lib/helpers.d.ts.map +1 -1
- package/dist/main/lib/helpers.js +161 -5
- package/dist/main/lib/helpers.js.map +1 -1
- package/dist/main/lib/locks.d.ts +1 -1
- package/dist/main/lib/locks.js +1 -1
- package/dist/main/lib/types.d.ts +71 -9
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/types.js.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.js +1 -1
- package/dist/module/GoTrueAdminApi.d.ts +1 -4
- package/dist/module/GoTrueAdminApi.d.ts.map +1 -1
- package/dist/module/GoTrueAdminApi.js +1 -4
- package/dist/module/GoTrueAdminApi.js.map +1 -1
- package/dist/module/GoTrueClient.d.ts +67 -21
- package/dist/module/GoTrueClient.d.ts.map +1 -1
- package/dist/module/GoTrueClient.js +219 -70
- package/dist/module/GoTrueClient.js.map +1 -1
- package/dist/module/lib/constants.d.ts +13 -0
- package/dist/module/lib/constants.d.ts.map +1 -1
- package/dist/module/lib/constants.js +13 -0
- package/dist/module/lib/constants.js.map +1 -1
- package/dist/module/lib/errors.d.ts +1 -1
- package/dist/module/lib/fetch.d.ts.map +1 -1
- package/dist/module/lib/fetch.js +12 -6
- package/dist/module/lib/fetch.js.map +1 -1
- package/dist/module/lib/helpers.d.ts +50 -1
- package/dist/module/lib/helpers.d.ts.map +1 -1
- package/dist/module/lib/helpers.js +153 -5
- package/dist/module/lib/helpers.js.map +1 -1
- package/dist/module/lib/locks.d.ts +1 -1
- package/dist/module/lib/locks.js +1 -1
- package/dist/module/lib/types.d.ts +71 -9
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/types.js.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.js +1 -1
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/GoTrueAdminApi.ts +1 -4
- package/src/GoTrueClient.ts +268 -91
- package/src/lib/constants.ts +15 -0
- package/src/lib/errors.ts +1 -1
- package/src/lib/fetch.ts +13 -8
- package/src/lib/helpers.ts +198 -6
- package/src/lib/locks.ts +1 -1
- package/src/lib/types.ts +71 -9
- package/src/lib/version.ts +1 -1
|
@@ -15,7 +15,7 @@ export declare class AuthError extends Error {
|
|
|
15
15
|
* Error code associated with the error. Most errors coming from
|
|
16
16
|
* HTTP responses will have a code, though some errors that occur
|
|
17
17
|
* before a response is received will not have one present. In that
|
|
18
|
-
* case {@link
|
|
18
|
+
* case {@link AuthError.status} will also be undefined.
|
|
19
19
|
*/
|
|
20
20
|
code: ErrorCode | (string & {}) | undefined;
|
|
21
21
|
/** HTTP status code that caused the error. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EAEpB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,oDAAoD;AACpD,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,sFAAsF;AACtF,UAAU,yBAA0B,SAAQ,iBAAiB;IAC3D,aAAa,CAAC,EAAE,YAAY,CAAA;CAC7B;AAED,yEAAyE;AACzE,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,wFAAwF;AACxF,KAAK,sBAAsB,GAAG,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1E,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IACD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAoB3E,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EAEpB,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,IAAI,EACJ,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,oDAAoD;AACpD,UAAU,iBAAiB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,sFAAsF;AACtF,UAAU,yBAA0B,SAAQ,iBAAiB;IAC3D,aAAa,CAAC,EAAE,YAAY,CAAA;CAC7B;AAED,yEAAyE;AACzE,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,wFAAwF;AACxF,KAAK,sBAAsB,GAAG,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE1E,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IACD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAoB3E,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBAmE/C;AAmBD,UAAU,oBAAqB,SAAQ,YAAY;IACjD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;CAC3B;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,oBAAoB,gBAgC/B;AAyCD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,YAAY,CActE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,yBAAyB,GAAG,oBAAoB,CAiB9F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,YAAY,CAGhE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAEnE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,GAAG,oBAAoB,CAmBxF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAE/D"}
|
package/dist/module/lib/fetch.js
CHANGED
|
@@ -27,17 +27,21 @@ export async function handleError(error) {
|
|
|
27
27
|
if (!looksLikeFetchResponse(error)) {
|
|
28
28
|
throw new AuthRetryableFetchError(_getErrorMessage(error), 0);
|
|
29
29
|
}
|
|
30
|
-
if (NETWORK_ERROR_CODES.includes(error.status)) {
|
|
31
|
-
// status in 500...599 range - server had an error, request might be retryed.
|
|
32
|
-
throw new AuthRetryableFetchError(_getErrorMessage(error), error.status);
|
|
33
|
-
}
|
|
34
30
|
let data;
|
|
35
31
|
try {
|
|
36
32
|
data = await error.json();
|
|
37
33
|
}
|
|
38
34
|
catch (e) {
|
|
35
|
+
if (NETWORK_ERROR_CODES.includes(error.status)) {
|
|
36
|
+
// statusText can be empty — HTTP/2 has no reason phrase
|
|
37
|
+
throw new AuthRetryableFetchError(error.statusText || `HTTP ${error.status}`, error.status);
|
|
38
|
+
}
|
|
39
39
|
throw new AuthUnknownError(_getErrorMessage(e), e);
|
|
40
40
|
}
|
|
41
|
+
if (NETWORK_ERROR_CODES.includes(error.status)) {
|
|
42
|
+
// status in 500...599 range - server had an error, request might be retryed.
|
|
43
|
+
throw new AuthRetryableFetchError(_getErrorMessage(data), error.status);
|
|
44
|
+
}
|
|
41
45
|
let errorCode = undefined;
|
|
42
46
|
const responseAPIVersion = parseResponseAPIVersion(error);
|
|
43
47
|
if (responseAPIVersion &&
|
|
@@ -109,8 +113,10 @@ async function _handleRequest(fetcher, method, url, options, parameters, body) {
|
|
|
109
113
|
result = await fetcher(url, Object.assign({}, requestParams));
|
|
110
114
|
}
|
|
111
115
|
catch (e) {
|
|
112
|
-
|
|
113
|
-
//
|
|
116
|
+
// fetch failed (network / CORS / aborted request) — surfaced to the
|
|
117
|
+
// caller as a retryable error below. Deliberately not logged here: an
|
|
118
|
+
// aborted in-flight request (e.g. a superseded page navigation) is a
|
|
119
|
+
// transient condition, and logging the raw error pollutes the console.
|
|
114
120
|
throw new AuthRetryableFetchError(_getErrorMessage(e), 0);
|
|
115
121
|
}
|
|
116
122
|
if (!result.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAYtF,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,UAAU,CAAA;AAyCjB,MAAM,gBAAgB,GAAG,CAAC,GAAY,EAAU,EAAE;IAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,GAA8B,CAAA;QACxC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,GAAG,CAAA;QAC3C,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,OAAO,CAAA;QACnD,IAAI,OAAO,CAAC,CAAC,iBAAiB,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,iBAAiB,CAAA;QACvE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAC,KAAK,CAAA;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,0DAA0D;AAC1D,8FAA8F;AAC9F,6EAA6E;AAC7E,MAAM,mBAAmB,GAAG;IAC1B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CAC/E,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc;;IAC9C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,56 @@ export declare function sleep(time: number): Promise<null>;
|
|
|
65
65
|
export declare function retryable<T>(fn: (attempt: number) => Promise<T>, isRetryable: (attempt: number, error: any | null, result?: T) => boolean): Promise<T>;
|
|
66
66
|
export declare function generatePKCEVerifier(): string;
|
|
67
67
|
export declare function generatePKCEChallenge(verifier: string): Promise<string>;
|
|
68
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Returns the flow id if it is a plausible flow id, `null` otherwise. Flow
|
|
70
|
+
* ids can arrive via URL parameters, so anything outside the expected shape
|
|
71
|
+
* is discarded before it is used to build a storage key.
|
|
72
|
+
*/
|
|
73
|
+
export declare function validatePKCEFlowId(flowId: unknown): string | null;
|
|
74
|
+
export declare function generatePKCEFlowId(): string;
|
|
75
|
+
export declare const pkceVerifierSlotKey: (storageKey: string, flowId: string) => string;
|
|
76
|
+
/**
|
|
77
|
+
* The index is read-modify-write without a lock: two concurrent starts (e.g.
|
|
78
|
+
* two tabs) can lose one index update. The losing flow still works — its slot
|
|
79
|
+
* is addressed directly by key — but its entry is missing from the index, so
|
|
80
|
+
* it escapes both ring eviction and removeAllPKCEVerifiers: the orphaned slot
|
|
81
|
+
* persists for the storage medium's lifetime (up to the cookie max age in
|
|
82
|
+
* cookie storage) and repeated races accumulate one orphan each. Accepted
|
|
83
|
+
* trade-off: locking every flow start is far more intrusive than the leak.
|
|
84
|
+
*/
|
|
85
|
+
export declare function storePKCEVerifier(storage: SupportedStorage, storageKey: string, flowId: string, verifier: string, onEvictFlow?: (evictedFlowId: string) => void): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Looks up the verifier for `flowId`. When a flow id is given, only that slot
|
|
88
|
+
* is consulted — deliberately no fallback to the fixed legacy key: submitting
|
|
89
|
+
* another flow's verifier would burn the single-use auth code, and the
|
|
90
|
+
* subsequent cleanup would delete a pending flow's only fallback. The legacy
|
|
91
|
+
* key is read only when no flow id is available at all.
|
|
92
|
+
*/
|
|
93
|
+
export declare function retrievePKCEVerifier(storage: SupportedStorage, storageKey: string, flowId: string | null): Promise<{
|
|
94
|
+
verifier: string | null;
|
|
95
|
+
flowId: string | null;
|
|
96
|
+
}>;
|
|
97
|
+
/**
|
|
98
|
+
* Removes a single flow's verifier. Never clears other flows' slots: with a
|
|
99
|
+
* `flowId` only that slot is deleted (plus the legacy fixed key when it holds
|
|
100
|
+
* the same verifier); without one, only the legacy fixed key is deleted.
|
|
101
|
+
*/
|
|
102
|
+
export declare function removePKCEVerifier(storage: SupportedStorage, storageKey: string, flowId: string | null): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Removes every pending verifier: all slots in the index, the index itself
|
|
105
|
+
* and the fixed legacy key. Used on session teardown (sign-out, invalid
|
|
106
|
+
* session) — matches the pre-slot behavior where tearing down the session
|
|
107
|
+
* deleted the only verifier, and prevents long-lived stale verifier cookies.
|
|
108
|
+
*/
|
|
109
|
+
export declare function removeAllPKCEVerifiers(storage: SupportedStorage, storageKey: string): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* Appends the reserved flow id parameter to a `redirectTo` URL, replacing any
|
|
112
|
+
* existing occurrence. String-based (no URL round-trip) so custom schemes
|
|
113
|
+
* (native deep links) and the exact encoding of the app's own parameters
|
|
114
|
+
* survive untouched; an existing fragment stays at the end of the URL.
|
|
115
|
+
*/
|
|
116
|
+
export declare function appendFlowIdToRedirectTo(redirectTo: string, flowId: string): string;
|
|
117
|
+
export declare function getCodeChallengeAndMethod(storage: SupportedStorage, storageKey: string, isPasswordRecovery?: boolean, onEvictFlow?: (evictedFlowId: string) => void): Promise<[string, string, string]>;
|
|
69
118
|
export declare function parseResponseAPIVersion(response: Response): Date | null;
|
|
70
119
|
export declare function validateExp(exp: number): void;
|
|
71
120
|
export declare function getAlgorithm(alg: 'HS256' | 'RS256' | 'ES256' | (string & {})): RsaHashedImportParams | EcKeyImportParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,UAG1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,eAAO,MAAM,SAAS,eAAyE,CAAA;AAO/F;;GAEG;AACH,eAAO,MAAM,oBAAoB,eAmChC,CAAA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM;;EAsBlD;AAED,KAAK,KAAK,GAAG,OAAO,KAAK,CAAA;AAEzB,eAAO,MAAM,YAAY,GAAI,cAAc,KAAK,KAAG,KAKlD,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,eAAe,OAAO,KAAG,aAAa,IAAI,QAShF,CAAA;AAGD,eAAO,MAAM,YAAY,GACvB,SAAS,gBAAgB,EACzB,KAAK,MAAM,EACX,MAAM,GAAG,KACR,OAAO,CAAC,IAAI,CAEd,CAAA;AAED,eAAO,MAAM,YAAY,GAAU,SAAS,gBAAgB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,OAAO,CAiB1F,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,SAAS,gBAAgB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,IAAI,CAE1F,CAAA;AAED;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC3B,OAAc,kBAAkB,EAAE,kBAAkB,CAAU;IAE9D,SAAgB,OAAO,EAAG,WAAW,CAAC,CAAC,CAAC,CAAA;IAExC,SAAgB,OAAO,EAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAE9D,SAAgB,MAAM,EAAG,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;;CAW/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;IACxC,MAAM,EAAE,SAAS,CAAA;IACjB,OAAO,EAAE,UAAU,CAAA;IACnB,SAAS,EAAE,WAAW,CAAA;IACtB,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,CAwBA;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACnC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,KAAK,OAAO,GACvE,OAAO,CAAC,CAAC,CAAC,CAuBZ;AAOD,wBAAgB,oBAAoB,WAcnC;AAaD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,mBAc3D;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C;AAQD,eAAO,MAAM,mBAAmB,GAAI,YAAY,MAAM,EAAE,QAAQ,MAAM,WACxB,CAAA;AAiB9C;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,GAC5C,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAO7D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBnF;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,MAAM,EAClB,kBAAkB,UAAQ,EAC1B,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,GAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAWnC;AAKD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,eAiBzD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,QAQtC;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAC/C,qBAAqB,GAAG,iBAAiB,CAgB3C;AAID,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,QAIvC;AAED,wBAAgB,gCAAgC,CAAC,YAAY,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAM1F;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAoC5C;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAkCjG;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEtC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { API_VERSION_HEADER_NAME, BASE64URL_REGEX } from './constants';
|
|
1
|
+
import { API_VERSION_HEADER_NAME, BASE64URL_REGEX, PKCE_FLOW_ID_PARAM, PKCE_MAX_CONCURRENT_FLOWS, } from './constants';
|
|
2
2
|
import { AuthInvalidJwtError } from './errors';
|
|
3
3
|
import { base64UrlToUint8Array, stringFromBase64URL } from './base64url';
|
|
4
4
|
export function expiresAt(expiresIn) {
|
|
@@ -238,16 +238,164 @@ export async function generatePKCEChallenge(verifier) {
|
|
|
238
238
|
const hashed = await sha256(verifier);
|
|
239
239
|
return btoa(hashed).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
240
240
|
}
|
|
241
|
-
|
|
241
|
+
const PKCE_FLOW_ID_PATTERN = /^[a-zA-Z0-9_-]{8,64}$/;
|
|
242
|
+
/**
|
|
243
|
+
* Returns the flow id if it is a plausible flow id, `null` otherwise. Flow
|
|
244
|
+
* ids can arrive via URL parameters, so anything outside the expected shape
|
|
245
|
+
* is discarded before it is used to build a storage key.
|
|
246
|
+
*/
|
|
247
|
+
export function validatePKCEFlowId(flowId) {
|
|
248
|
+
return typeof flowId === 'string' && PKCE_FLOW_ID_PATTERN.test(flowId) ? flowId : null;
|
|
249
|
+
}
|
|
250
|
+
export function generatePKCEFlowId() {
|
|
251
|
+
if (typeof crypto !== 'undefined' && typeof crypto.getRandomValues === 'function') {
|
|
252
|
+
const bytes = new Uint8Array(16);
|
|
253
|
+
crypto.getRandomValues(bytes);
|
|
254
|
+
return Array.from(bytes, dec2hex).join('');
|
|
255
|
+
}
|
|
256
|
+
let flowId = '';
|
|
257
|
+
for (let i = 0; i < 32; i++) {
|
|
258
|
+
flowId += Math.floor(Math.random() * 16).toString(16);
|
|
259
|
+
}
|
|
260
|
+
return flowId;
|
|
261
|
+
}
|
|
262
|
+
// Slot keys deliberately end in `-code-verifier`: @supabase/ssr's server
|
|
263
|
+
// cookie adapter only persists writes immediately for keys with that suffix
|
|
264
|
+
// (no auth event fires when a verifier is stored). They also contain no dot,
|
|
265
|
+
// because @supabase/ssr chunks oversized cookies as `<key>.<number>` and a
|
|
266
|
+
// dot-delimited key could be mistaken for a chunk of the fixed
|
|
267
|
+
// `-code-verifier` cookie and clobbered by its chunk management.
|
|
268
|
+
export const pkceVerifierSlotKey = (storageKey, flowId) => `${storageKey}-flow-${flowId}-code-verifier`;
|
|
269
|
+
const pkceFlowIndexKey = (storageKey) => `${storageKey}-flows-code-verifier`;
|
|
270
|
+
/**
|
|
271
|
+
* Storage adapters cannot enumerate keys, so the ids of pending verifier
|
|
272
|
+
* slots are tracked in an index entry, oldest first. Index entries pass
|
|
273
|
+
* through the same validation as URL-provided flow ids: with cookie-based
|
|
274
|
+
* storage the index contents are no more trustworthy than a URL parameter.
|
|
275
|
+
*/
|
|
276
|
+
async function getPKCEFlowIndex(storage, storageKey) {
|
|
277
|
+
const index = await getItemAsync(storage, pkceFlowIndexKey(storageKey));
|
|
278
|
+
return Array.isArray(index)
|
|
279
|
+
? index.filter((id) => validatePKCEFlowId(id) !== null)
|
|
280
|
+
: [];
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* The index is read-modify-write without a lock: two concurrent starts (e.g.
|
|
284
|
+
* two tabs) can lose one index update. The losing flow still works — its slot
|
|
285
|
+
* is addressed directly by key — but its entry is missing from the index, so
|
|
286
|
+
* it escapes both ring eviction and removeAllPKCEVerifiers: the orphaned slot
|
|
287
|
+
* persists for the storage medium's lifetime (up to the cookie max age in
|
|
288
|
+
* cookie storage) and repeated races accumulate one orphan each. Accepted
|
|
289
|
+
* trade-off: locking every flow start is far more intrusive than the leak.
|
|
290
|
+
*/
|
|
291
|
+
export async function storePKCEVerifier(storage, storageKey, flowId, verifier, onEvictFlow) {
|
|
292
|
+
await setItemAsync(storage, pkceVerifierSlotKey(storageKey, flowId), verifier);
|
|
293
|
+
const index = (await getPKCEFlowIndex(storage, storageKey)).filter((id) => id !== flowId);
|
|
294
|
+
index.push(flowId);
|
|
295
|
+
while (index.length > PKCE_MAX_CONCURRENT_FLOWS) {
|
|
296
|
+
const evicted = index.shift();
|
|
297
|
+
await removeItemAsync(storage, pkceVerifierSlotKey(storageKey, evicted));
|
|
298
|
+
onEvictFlow === null || onEvictFlow === void 0 ? void 0 : onEvictFlow(evicted);
|
|
299
|
+
}
|
|
300
|
+
await setItemAsync(storage, pkceFlowIndexKey(storageKey), index);
|
|
301
|
+
// Deprecation-window dual write: exchanges that cannot identify their flow
|
|
302
|
+
// (older SDK versions, redirects without the flow id parameter) read the
|
|
303
|
+
// fixed key, which mirrors the most recently started flow.
|
|
304
|
+
await setItemAsync(storage, `${storageKey}-code-verifier`, verifier);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Looks up the verifier for `flowId`. When a flow id is given, only that slot
|
|
308
|
+
* is consulted — deliberately no fallback to the fixed legacy key: submitting
|
|
309
|
+
* another flow's verifier would burn the single-use auth code, and the
|
|
310
|
+
* subsequent cleanup would delete a pending flow's only fallback. The legacy
|
|
311
|
+
* key is read only when no flow id is available at all.
|
|
312
|
+
*/
|
|
313
|
+
export async function retrievePKCEVerifier(storage, storageKey, flowId) {
|
|
314
|
+
if (flowId) {
|
|
315
|
+
const verifier = await getItemAsync(storage, pkceVerifierSlotKey(storageKey, flowId));
|
|
316
|
+
return { verifier: typeof verifier === 'string' ? verifier : null, flowId };
|
|
317
|
+
}
|
|
318
|
+
const verifier = await getItemAsync(storage, `${storageKey}-code-verifier`);
|
|
319
|
+
return { verifier: typeof verifier === 'string' ? verifier : null, flowId: null };
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Removes a single flow's verifier. Never clears other flows' slots: with a
|
|
323
|
+
* `flowId` only that slot is deleted (plus the legacy fixed key when it holds
|
|
324
|
+
* the same verifier); without one, only the legacy fixed key is deleted.
|
|
325
|
+
*/
|
|
326
|
+
export async function removePKCEVerifier(storage, storageKey, flowId) {
|
|
327
|
+
const legacyKey = `${storageKey}-code-verifier`;
|
|
328
|
+
if (!flowId) {
|
|
329
|
+
await removeItemAsync(storage, legacyKey);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const slotKey = pkceVerifierSlotKey(storageKey, flowId);
|
|
333
|
+
const slotValue = await getItemAsync(storage, slotKey);
|
|
334
|
+
await removeItemAsync(storage, slotKey);
|
|
335
|
+
// Skip the index rewrite when the flow was never indexed (e.g. a failed
|
|
336
|
+
// exchange for an absent slot): on cookie storage every write is a full
|
|
337
|
+
// Set-Cookie cycle.
|
|
338
|
+
const index = await getPKCEFlowIndex(storage, storageKey);
|
|
339
|
+
const remaining = index.filter((id) => id !== flowId);
|
|
340
|
+
if (remaining.length !== index.length) {
|
|
341
|
+
if (remaining.length > 0) {
|
|
342
|
+
await setItemAsync(storage, pkceFlowIndexKey(storageKey), remaining);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
await removeItemAsync(storage, pkceFlowIndexKey(storageKey));
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
if (slotValue != null && slotValue === (await getItemAsync(storage, legacyKey))) {
|
|
349
|
+
await removeItemAsync(storage, legacyKey);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Removes every pending verifier: all slots in the index, the index itself
|
|
354
|
+
* and the fixed legacy key. Used on session teardown (sign-out, invalid
|
|
355
|
+
* session) — matches the pre-slot behavior where tearing down the session
|
|
356
|
+
* deleted the only verifier, and prevents long-lived stale verifier cookies.
|
|
357
|
+
*/
|
|
358
|
+
export async function removeAllPKCEVerifiers(storage, storageKey) {
|
|
359
|
+
const index = await getPKCEFlowIndex(storage, storageKey);
|
|
360
|
+
for (const flowId of index) {
|
|
361
|
+
await removeItemAsync(storage, pkceVerifierSlotKey(storageKey, flowId));
|
|
362
|
+
}
|
|
363
|
+
await removeItemAsync(storage, pkceFlowIndexKey(storageKey));
|
|
364
|
+
await removeItemAsync(storage, `${storageKey}-code-verifier`);
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Appends the reserved flow id parameter to a `redirectTo` URL, replacing any
|
|
368
|
+
* existing occurrence. String-based (no URL round-trip) so custom schemes
|
|
369
|
+
* (native deep links) and the exact encoding of the app's own parameters
|
|
370
|
+
* survive untouched; an existing fragment stays at the end of the URL.
|
|
371
|
+
*/
|
|
372
|
+
export function appendFlowIdToRedirectTo(redirectTo, flowId) {
|
|
373
|
+
const hashIndex = redirectTo.indexOf('#');
|
|
374
|
+
let base = hashIndex === -1 ? redirectTo : redirectTo.slice(0, hashIndex);
|
|
375
|
+
const fragment = hashIndex === -1 ? '' : redirectTo.slice(hashIndex);
|
|
376
|
+
const queryIndex = base.indexOf('?');
|
|
377
|
+
if (queryIndex !== -1) {
|
|
378
|
+
const path = base.slice(0, queryIndex);
|
|
379
|
+
const remaining = base
|
|
380
|
+
.slice(queryIndex + 1)
|
|
381
|
+
.split('&')
|
|
382
|
+
.filter((pair) => pair !== '' && pair !== PKCE_FLOW_ID_PARAM && !pair.startsWith(`${PKCE_FLOW_ID_PARAM}=`));
|
|
383
|
+
base = remaining.length > 0 ? `${path}?${remaining.join('&')}` : path;
|
|
384
|
+
}
|
|
385
|
+
const separator = base.includes('?') ? '&' : '?';
|
|
386
|
+
return `${base}${separator}${PKCE_FLOW_ID_PARAM}=${encodeURIComponent(flowId)}${fragment}`;
|
|
387
|
+
}
|
|
388
|
+
export async function getCodeChallengeAndMethod(storage, storageKey, isPasswordRecovery = false, onEvictFlow) {
|
|
242
389
|
const codeVerifier = generatePKCEVerifier();
|
|
243
390
|
let storedCodeVerifier = codeVerifier;
|
|
244
391
|
if (isPasswordRecovery) {
|
|
245
392
|
storedCodeVerifier += '/recovery';
|
|
246
393
|
}
|
|
247
|
-
|
|
394
|
+
const flowId = generatePKCEFlowId();
|
|
395
|
+
await storePKCEVerifier(storage, storageKey, flowId, storedCodeVerifier, onEvictFlow);
|
|
248
396
|
const codeChallenge = await generatePKCEChallenge(codeVerifier);
|
|
249
397
|
const codeChallengeMethod = codeVerifier === codeChallenge ? 'plain' : 's256';
|
|
250
|
-
return [codeChallenge, codeChallengeMethod];
|
|
398
|
+
return [codeChallenge, codeChallengeMethod, flowId];
|
|
251
399
|
}
|
|
252
400
|
/** Parses the API version which is 2YYY-MM-DD. */
|
|
253
401
|
const API_VERSION_REGEX = /^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;
|
|
@@ -293,7 +441,7 @@ export function getAlgorithm(alg) {
|
|
|
293
441
|
throw new Error('Invalid alg claim');
|
|
294
442
|
}
|
|
295
443
|
}
|
|
296
|
-
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
|
|
444
|
+
const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
297
445
|
export function validateUUID(str) {
|
|
298
446
|
if (!UUID_REGEX.test(str)) {
|
|
299
447
|
throw new Error('@supabase/auth-js: Expected parameter to be UUID but is not');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIxE,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,OAAO,OAAO,GAAG,SAAS,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,MAAM,CAAC,eAAe,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,CAAA;AAE/F,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8CAA8C;QAC9C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,sBAAsB,CAAC,QAAQ,CAAA;IACxC,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;IAEzD,IAAI,CAAC;QACH,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QACrD,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;QAE7C,sBAAsB,CAAC,MAAM,GAAG,IAAI,CAAA;QACpC,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAA;IACxC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,mCAAmC;QACnC,+KAA+K;QAE/K,sBAAsB,CAAC,MAAM,GAAG,IAAI,CAAA;QACpC,sBAAsB,CAAC,QAAQ,GAAG,KAAK,CAAA;IACzC,CAAC;IAED,OAAO,sBAAsB,CAAC,QAAQ,CAAA;AACxC,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,MAAM,GAAoC,EAAE,CAAA;IAElD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YACnE,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACZ,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAID,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAS,EAAE;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAA;IAC1C,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;AACpC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAAsB,EAA6B,EAAE;IAC1F,OAAO,CACL,OAAO,aAAa,KAAK,QAAQ;QACjC,aAAa,KAAK,IAAI;QACtB,QAAQ,IAAI,aAAa;QACzB,IAAI,IAAI,aAAa;QACrB,MAAM,IAAI,aAAa;QACvB,OAAQ,aAAqB,CAAC,IAAI,KAAK,UAAU,CAClD,CAAA;AACH,CAAC,CAAA;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,OAAyB,EACzB,GAAW,EACX,IAAS,EACM,EAAE;IACjB,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAyB,EAAE,GAAW,EAAoB,EAAE;IAC7F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAAC,WAAM,CAAC;QACP,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,sCAAsC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,OAAyB,EAAE,GAAW,EAAiB,EAAE;IAC7F,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IASnB;QACE,4DAA4D;QAC5D,CAAC;QAAC,IAAY,CAAC,OAAO,GAAG,IAAI,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpE,4DAA4D;YAC5D,CAAC;YAAC,IAAY,CAAC,OAAO,GAAG,GAAG,CAE3B;YAAC,IAAY,CAAC,MAAM,GAAG,GAAG,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;;AAhBa,2BAAkB,GAAuB,OAAO,CAAA;AAmBhE,MAAM,UAAU,SAAS,CAAC,KAAa;IASrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,CAAC,CAAA;IACxD,CAAC;IAED,oCAAoC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG;QACX,sBAAsB;QACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,EAAE;YACH,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;SAClB;KACF,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,IAAY;IACtC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAClC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CACvB,EAAmC,EACnC,WAAwE;IAExE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QAChD,4DAA4D;QAC5D,CAAC;QAAA,CAAC,KAAK,IAAI,EAAE;YACX,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;gBACpD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAA;oBAEhC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,MAAM,CAAC,CAAA;wBACd,OAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC7B,MAAM,CAAC,CAAC,CAAC,CAAA;wBACT,OAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,0JAA0J;AAC1J,MAAM,UAAU,oBAAoB;IAClC,MAAM,cAAc,GAAG,EAAE,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC,CAAA;IAC7C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,oEAAoE,CAAA;QACpF,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;QACjC,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,YAAoB;IACxC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;IAChD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC/D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAElC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAClC,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAgB;IAC1D,MAAM,gBAAgB,GACpB,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW;QACpC,OAAO,WAAW,KAAK,WAAW,CAAA;IAEpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CACV,oGAAoG,CACrG,CAAA;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAyB,EACzB,UAAkB,EAClB,kBAAkB,GAAG,KAAK;IAE1B,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAA;IAC3C,IAAI,kBAAkB,GAAG,YAAY,CAAA;IACrC,IAAI,kBAAkB,EAAE,CAAC;QACvB,kBAAkB,IAAI,WAAW,CAAA;IACnC,CAAC;IACD,MAAM,YAAY,CAAC,OAAO,EAAE,GAAG,UAAU,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAA;IAC/D,MAAM,mBAAmB,GAAG,YAAY,KAAK,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IAC7E,OAAO,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;AAC7C,CAAC;AAED,kDAAkD;AAClD,MAAM,iBAAiB,GAAG,4DAA4D,CAAA;AAEtF,MAAM,UAAU,uBAAuB,CAAC,QAAkB;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAEhE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,UAAU,cAAc,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAC7C,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,GAAgD;IAEhD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC1B,CAAA;QACH,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,OAAO;gBACnB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC1B,CAAA;QACH;YACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,GAAG,gEAAgE,CAAA;AAEnF,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,YAAmC;IAClF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,oMAAoM,CACrM,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,WAAW,GAAG,EAAU,CAAA;IAE9B,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE;QAC5B,GAAG,EAAE,CAAC,MAAW,EAAE,IAAY,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,2BAA2B,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,8EAA8E;YAC9E,mFAAmF;YACnF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAI,IAAe,CAAC,QAAQ,EAAE,CAAA;gBACzC,IACE,KAAK,KAAK,4BAA4B;oBACtC,KAAK,KAAK,4BAA4B;oBACtC,KAAK,KAAK,6BAA6B,EACvC,CAAC;oBACD,uBAAuB;oBACvB,OAAO,SAAS,CAAA;gBAClB,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CACb,kIAAkI,IAAI,kFAAkF,CACzN,CAAA;QACH,CAAC;QACD,GAAG,EAAE,CAAC,OAAY,EAAE,IAAY,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CACb,gIAAgI,IAAI,oHAAoH,CACzP,CAAA;QACH,CAAC;QACD,cAAc,EAAE,CAAC,OAAY,EAAE,IAAY,EAAE,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,iIAAiI,IAAI,oHAAoH,CAC1P,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAU,EAAE,kBAAsC;IACzF,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;QACrB,GAAG,EAAE,CAAC,MAAW,EAAE,IAAqB,EAAE,QAAa,EAAE,EAAE;YACzD,wCAAwC;YACxC,IAAI,IAAI,KAAK,8BAA8B,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAA;YACb,CAAC;YAED,8EAA8E;YAC9E,kFAAkF;YAClF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBAC7B,IACE,KAAK,KAAK,4BAA4B;oBACtC,KAAK,KAAK,4BAA4B;oBACtC,KAAK,KAAK,6BAA6B;oBACvC,KAAK,KAAK,oCAAoC,EAC9C,CAAC;oBACD,uEAAuE;oBACvE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;gBAC5C,CAAC;YACH,CAAC;YAED,wCAAwC;YACxC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,OAAO,CAAC,IAAI,CACV,iWAAiW,CAClW,CAAA;gBACD,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAA;YACjC,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAI,GAAM;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,7 +77,7 @@ export declare function navigatorLock<R>(name: string, acquireTimeout: number, f
|
|
|
77
77
|
* Useful for environments like React Native or other non-browser
|
|
78
78
|
* single-process (i.e. no concept of "tabs") environments.
|
|
79
79
|
*
|
|
80
|
-
* Use {@link
|
|
80
|
+
* Use {@link navigatorLock} in browser environments.
|
|
81
81
|
*
|
|
82
82
|
* @param name Name of the lock to be acquired.
|
|
83
83
|
* @param acquireTimeout If negative, no timeout. If 0 an error is thrown if
|
package/dist/module/lib/locks.js
CHANGED
|
@@ -238,7 +238,7 @@ const PROCESS_LOCKS = {};
|
|
|
238
238
|
* Useful for environments like React Native or other non-browser
|
|
239
239
|
* single-process (i.e. no concept of "tabs") environments.
|
|
240
240
|
*
|
|
241
|
-
* Use {@link
|
|
241
|
+
* Use {@link navigatorLock} in browser environments.
|
|
242
242
|
*
|
|
243
243
|
* @param name Name of the lock to be acquired.
|
|
244
244
|
* @param acquireTimeout If negative, no timeout. If 0 an error is thrown if
|
|
@@ -134,6 +134,30 @@ export type ExperimentalFeatureFlags = {
|
|
|
134
134
|
* disabled throws a descriptive error at call time.
|
|
135
135
|
*/
|
|
136
136
|
passkey?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Appends a reserved `sb_flow_id` query parameter to `redirectTo` URLs on
|
|
139
|
+
* PKCE flows. The parameter round-trips through the auth server back to
|
|
140
|
+
* your callback URL, where the client uses it to select the code verifier
|
|
141
|
+
* created by that specific flow — so multiple sign-in flows (e.g. two OAuth
|
|
142
|
+
* providers started in different tabs) can be in flight at the same time
|
|
143
|
+
* without overwriting each other.
|
|
144
|
+
*
|
|
145
|
+
* Before enabling, make sure your [redirect URL allow
|
|
146
|
+
* list](https://supabase.com/docs/guides/auth/redirect-urls) tolerates the
|
|
147
|
+
* extra query parameter: allow-list entries are matched against the full
|
|
148
|
+
* URL including the query string, so an exact entry (no wildcard) stops
|
|
149
|
+
* matching once the parameter is appended and the redirect falls back to
|
|
150
|
+
* your Site URL. Redirects to the Site URL's own origin always pass.
|
|
151
|
+
*
|
|
152
|
+
* Defaults to `false`. Without it, concurrent flows still keep separate
|
|
153
|
+
* verifiers in storage, but no flow id travels through the redirect: to
|
|
154
|
+
* match a callback to its verifier you must carry the `flowId` returned by
|
|
155
|
+
* `signInWithOAuth` (or `linkIdentity`) through your own channel and pass
|
|
156
|
+
* it to `exchangeCodeForSession`. Flows that offer no way to obtain the
|
|
157
|
+
* flow id (email OTP, password recovery, sign-up confirmation) can only be
|
|
158
|
+
* correlated via this flag.
|
|
159
|
+
*/
|
|
160
|
+
appendPkceFlowIdToRedirects?: boolean;
|
|
137
161
|
};
|
|
138
162
|
declare const WeakPasswordReasons: readonly ["length", "characters", "pwned"];
|
|
139
163
|
export type WeakPasswordReasons = (typeof WeakPasswordReasons)[number];
|
|
@@ -166,7 +190,7 @@ export type RequestResult<T, ErrorType extends Error = AuthError> = {
|
|
|
166
190
|
};
|
|
167
191
|
/**
|
|
168
192
|
* similar to RequestResult except it allows you to destructure the possible shape of the success response
|
|
169
|
-
* {@
|
|
193
|
+
* {@link RequestResult}
|
|
170
194
|
*/
|
|
171
195
|
export type RequestResultSafeDestructure<T> = {
|
|
172
196
|
data: T;
|
|
@@ -189,7 +213,7 @@ export type AuthResponsePassword = RequestResultSafeDestructure<{
|
|
|
189
213
|
/**
|
|
190
214
|
* AuthOtpResponse is returned when OTP is used.
|
|
191
215
|
*
|
|
192
|
-
* {@
|
|
216
|
+
* {@link AuthResponse}
|
|
193
217
|
*/
|
|
194
218
|
export type AuthOtpResponse = RequestResultSafeDestructure<{
|
|
195
219
|
user: null;
|
|
@@ -209,12 +233,26 @@ export type OAuthResponse = {
|
|
|
209
233
|
data: {
|
|
210
234
|
provider: Provider;
|
|
211
235
|
url: string;
|
|
236
|
+
/**
|
|
237
|
+
* Identifier of the PKCE flow started by this call, usable as the
|
|
238
|
+
* `flowId` option of {@link GoTrueClient#exchangeCodeForSession} to
|
|
239
|
+
* select this flow's code verifier when several flows are in flight.
|
|
240
|
+
* `null` on the implicit flow. The id is a selector for a verifier
|
|
241
|
+
* kept in storage — it is not a secret and never contains the
|
|
242
|
+
* verifier itself.
|
|
243
|
+
*
|
|
244
|
+
* Always set at runtime; optional in the type so existing code that
|
|
245
|
+
* constructs `OAuthResponse` values (e.g. test mocks) keeps
|
|
246
|
+
* compiling.
|
|
247
|
+
*/
|
|
248
|
+
flowId?: string | null;
|
|
212
249
|
};
|
|
213
250
|
error: null;
|
|
214
251
|
} | {
|
|
215
252
|
data: {
|
|
216
253
|
provider: Provider;
|
|
217
254
|
url: null;
|
|
255
|
+
flowId?: string | null;
|
|
218
256
|
};
|
|
219
257
|
error: AuthError;
|
|
220
258
|
};
|
|
@@ -313,7 +351,7 @@ type FactorVerificationStatus = (typeof FactorVerificationStatuses)[number];
|
|
|
313
351
|
*
|
|
314
352
|
* @see {@link GoTrueMFAApi#enroll}
|
|
315
353
|
* @see {@link GoTrueMFAApi#listFactors}
|
|
316
|
-
* @see {@link
|
|
354
|
+
* @see {@link GoTrueAdminMFAApi#listFactors}
|
|
317
355
|
*/
|
|
318
356
|
export type Factor<Type extends FactorType = FactorType, Status extends FactorVerificationStatus = (typeof FactorVerificationStatuses)[number]> = {
|
|
319
357
|
/** ID of the factor. */
|
|
@@ -1412,14 +1450,14 @@ export interface GoTrueMFAApi {
|
|
|
1412
1450
|
webauthn: WebAuthnApi;
|
|
1413
1451
|
}
|
|
1414
1452
|
/**
|
|
1415
|
-
* @
|
|
1453
|
+
* @experimental
|
|
1416
1454
|
*/
|
|
1417
1455
|
export type AuthMFAAdminDeleteFactorResponse = RequestResult<{
|
|
1418
1456
|
/** ID of the factor that was successfully deleted. */
|
|
1419
1457
|
id: string;
|
|
1420
1458
|
}>;
|
|
1421
1459
|
/**
|
|
1422
|
-
* @
|
|
1460
|
+
* @experimental
|
|
1423
1461
|
*/
|
|
1424
1462
|
export type AuthMFAAdminDeleteFactorParams = {
|
|
1425
1463
|
/** ID of the MFA factor to delete. */
|
|
@@ -1428,14 +1466,14 @@ export type AuthMFAAdminDeleteFactorParams = {
|
|
|
1428
1466
|
userId: string;
|
|
1429
1467
|
};
|
|
1430
1468
|
/**
|
|
1431
|
-
* @
|
|
1469
|
+
* @experimental
|
|
1432
1470
|
*/
|
|
1433
1471
|
export type AuthMFAAdminListFactorsResponse = RequestResult<{
|
|
1434
1472
|
/** All factors attached to the user. */
|
|
1435
1473
|
factors: Factor[];
|
|
1436
1474
|
}>;
|
|
1437
1475
|
/**
|
|
1438
|
-
* @
|
|
1476
|
+
* @experimental
|
|
1439
1477
|
*/
|
|
1440
1478
|
export type AuthMFAAdminListFactorsParams = {
|
|
1441
1479
|
/** ID of the user. */
|
|
@@ -1444,7 +1482,7 @@ export type AuthMFAAdminListFactorsParams = {
|
|
|
1444
1482
|
/**
|
|
1445
1483
|
* Contains the full multi-factor authentication administration API.
|
|
1446
1484
|
*
|
|
1447
|
-
* @
|
|
1485
|
+
* @experimental
|
|
1448
1486
|
*/
|
|
1449
1487
|
export interface GoTrueAdminMFAApi {
|
|
1450
1488
|
/**
|
|
@@ -1485,7 +1523,7 @@ export interface GoTrueAdminMFAApi {
|
|
|
1485
1523
|
*
|
|
1486
1524
|
* @see {@link GoTrueMFAApi#unenroll}
|
|
1487
1525
|
*
|
|
1488
|
-
* @
|
|
1526
|
+
* @experimental
|
|
1489
1527
|
*
|
|
1490
1528
|
* @category Auth
|
|
1491
1529
|
* @subcategory Auth Admin
|
|
@@ -1901,6 +1939,14 @@ export type CustomOAuthProvider = {
|
|
|
1901
1939
|
acceptable_client_ids?: string[];
|
|
1902
1940
|
/** OAuth scopes requested during authorization */
|
|
1903
1941
|
scopes?: string[];
|
|
1942
|
+
/**
|
|
1943
|
+
* Allowlist of raw identity provider claim keys to copy verbatim into the
|
|
1944
|
+
* user's `custom_claims` field (within `identity_data` and
|
|
1945
|
+
* `raw_user_meta_data`), e.g. `["groups", "org_id", "mail"]`. This is an
|
|
1946
|
+
* opt-in allowlist that defaults to empty (no claims captured) and operates
|
|
1947
|
+
* independently from `attribute_mapping`.
|
|
1948
|
+
*/
|
|
1949
|
+
custom_claims_allowlist?: string[];
|
|
1904
1950
|
/** Whether PKCE is enabled */
|
|
1905
1951
|
pkce_enabled?: boolean;
|
|
1906
1952
|
/** Mapping of provider attributes to Supabase user attributes */
|
|
@@ -1950,6 +1996,14 @@ export type CreateCustomProviderParams = {
|
|
|
1950
1996
|
acceptable_client_ids?: string[];
|
|
1951
1997
|
/** OAuth scopes requested during authorization */
|
|
1952
1998
|
scopes?: string[];
|
|
1999
|
+
/**
|
|
2000
|
+
* Allowlist of raw identity provider claim keys to copy verbatim into the
|
|
2001
|
+
* user's `custom_claims` field (within `identity_data` and
|
|
2002
|
+
* `raw_user_meta_data`), e.g. `["groups", "org_id", "mail"]`. This is an
|
|
2003
|
+
* opt-in allowlist that defaults to empty (no claims captured) and operates
|
|
2004
|
+
* independently from `attribute_mapping`.
|
|
2005
|
+
*/
|
|
2006
|
+
custom_claims_allowlist?: string[];
|
|
1953
2007
|
/** Whether PKCE is enabled */
|
|
1954
2008
|
pkce_enabled?: boolean;
|
|
1955
2009
|
/** Mapping of provider attributes to Supabase user attributes */
|
|
@@ -1991,6 +2045,14 @@ export type UpdateCustomProviderParams = {
|
|
|
1991
2045
|
acceptable_client_ids?: string[];
|
|
1992
2046
|
/** OAuth scopes requested during authorization */
|
|
1993
2047
|
scopes?: string[];
|
|
2048
|
+
/**
|
|
2049
|
+
* Allowlist of raw identity provider claim keys to copy verbatim into the
|
|
2050
|
+
* user's `custom_claims` field (within `identity_data` and
|
|
2051
|
+
* `raw_user_meta_data`), e.g. `["groups", "org_id", "mail"]`. This is an
|
|
2052
|
+
* opt-in allowlist that defaults to empty (no claims captured) and operates
|
|
2053
|
+
* independently from `attribute_mapping`.
|
|
2054
|
+
*/
|
|
2055
|
+
custom_claims_allowlist?: string[];
|
|
1994
2056
|
/** Whether PKCE is enabled */
|
|
1995
2057
|
pkce_enabled?: boolean;
|
|
1996
2058
|
/** Mapping of provider attributes to Supabase user attributes */
|