@supabase/auth-js 2.58.1-canary.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/LICENSE +21 -0
- package/README.md +148 -0
- package/dist/main/AuthAdminApi.d.ts +4 -0
- package/dist/main/AuthAdminApi.d.ts.map +1 -0
- package/dist/main/AuthAdminApi.js +9 -0
- package/dist/main/AuthAdminApi.js.map +1 -0
- package/dist/main/AuthClient.d.ts +4 -0
- package/dist/main/AuthClient.d.ts.map +1 -0
- package/dist/main/AuthClient.js +9 -0
- package/dist/main/AuthClient.js.map +1 -0
- package/dist/main/GoTrueAdminApi.d.ts +99 -0
- package/dist/main/GoTrueAdminApi.d.ts.map +1 -0
- package/dist/main/GoTrueAdminApi.js +278 -0
- package/dist/main/GoTrueAdminApi.js.map +1 -0
- package/dist/main/GoTrueClient.d.ts +531 -0
- package/dist/main/GoTrueClient.d.ts.map +1 -0
- package/dist/main/GoTrueClient.js +2564 -0
- package/dist/main/GoTrueClient.js.map +1 -0
- package/dist/main/index.d.ts +9 -0
- package/dist/main/index.d.ts.map +1 -0
- package/dist/main/index.js +36 -0
- package/dist/main/index.js.map +1 -0
- package/dist/main/lib/base64url.d.ts +76 -0
- package/dist/main/lib/base64url.d.ts.map +1 -0
- package/dist/main/lib/base64url.js +269 -0
- package/dist/main/lib/base64url.js.map +1 -0
- package/dist/main/lib/constants.d.ts +26 -0
- package/dist/main/lib/constants.d.ts.map +1 -0
- package/dist/main/lib/constants.js +31 -0
- package/dist/main/lib/constants.js.map +1 -0
- package/dist/main/lib/error-codes.d.ts +7 -0
- package/dist/main/lib/error-codes.d.ts.map +1 -0
- package/dist/main/lib/error-codes.js +3 -0
- package/dist/main/lib/error-codes.js.map +1 -0
- package/dist/main/lib/errors.d.ts +100 -0
- package/dist/main/lib/errors.d.ts.map +1 -0
- package/dist/main/lib/errors.js +137 -0
- package/dist/main/lib/errors.js.map +1 -0
- package/dist/main/lib/fetch.d.ts +34 -0
- package/dist/main/lib/fetch.d.ts.map +1 -0
- package/dist/main/lib/fetch.js +194 -0
- package/dist/main/lib/fetch.js.map +1 -0
- package/dist/main/lib/helpers.d.ts +67 -0
- package/dist/main/lib/helpers.d.ts.map +1 -0
- package/dist/main/lib/helpers.js +388 -0
- package/dist/main/lib/helpers.js.map +1 -0
- package/dist/main/lib/local-storage.d.ts +9 -0
- package/dist/main/lib/local-storage.d.ts.map +1 -0
- package/dist/main/lib/local-storage.js +21 -0
- package/dist/main/lib/local-storage.js.map +1 -0
- package/dist/main/lib/locks.d.ts +64 -0
- package/dist/main/lib/locks.d.ts.map +1 -0
- package/dist/main/lib/locks.js +187 -0
- package/dist/main/lib/locks.js.map +1 -0
- package/dist/main/lib/polyfills.d.ts +5 -0
- package/dist/main/lib/polyfills.d.ts.map +1 -0
- package/dist/main/lib/polyfills.js +29 -0
- package/dist/main/lib/polyfills.js.map +1 -0
- package/dist/main/lib/types.d.ts +1130 -0
- package/dist/main/lib/types.d.ts.map +1 -0
- package/dist/main/lib/types.js +22 -0
- package/dist/main/lib/types.js.map +1 -0
- package/dist/main/lib/version.d.ts +2 -0
- package/dist/main/lib/version.d.ts.map +1 -0
- package/dist/main/lib/version.js +11 -0
- package/dist/main/lib/version.js.map +1 -0
- package/dist/main/lib/web3/ethereum.d.ts +96 -0
- package/dist/main/lib/web3/ethereum.d.ts.map +1 -0
- package/dist/main/lib/web3/ethereum.js +66 -0
- package/dist/main/lib/web3/ethereum.js.map +1 -0
- package/dist/main/lib/web3/solana.d.ts +160 -0
- package/dist/main/lib/web3/solana.d.ts.map +1 -0
- package/dist/main/lib/web3/solana.js +4 -0
- package/dist/main/lib/web3/solana.js.map +1 -0
- package/dist/main/lib/webauthn.d.ts +274 -0
- package/dist/main/lib/webauthn.d.ts.map +1 -0
- package/dist/main/lib/webauthn.dom.d.ts +583 -0
- package/dist/main/lib/webauthn.dom.d.ts.map +1 -0
- package/dist/main/lib/webauthn.dom.js +4 -0
- package/dist/main/lib/webauthn.dom.js.map +1 -0
- package/dist/main/lib/webauthn.errors.d.ts +80 -0
- package/dist/main/lib/webauthn.errors.d.ts.map +1 -0
- package/dist/main/lib/webauthn.errors.js +265 -0
- package/dist/main/lib/webauthn.errors.js.map +1 -0
- package/dist/main/lib/webauthn.js +702 -0
- package/dist/main/lib/webauthn.js.map +1 -0
- package/dist/module/AuthAdminApi.d.ts +4 -0
- package/dist/module/AuthAdminApi.d.ts.map +1 -0
- package/dist/module/AuthAdminApi.js +4 -0
- package/dist/module/AuthAdminApi.js.map +1 -0
- package/dist/module/AuthClient.d.ts +4 -0
- package/dist/module/AuthClient.d.ts.map +1 -0
- package/dist/module/AuthClient.js +4 -0
- package/dist/module/AuthClient.js.map +1 -0
- package/dist/module/GoTrueAdminApi.d.ts +99 -0
- package/dist/module/GoTrueAdminApi.d.ts.map +1 -0
- package/dist/module/GoTrueAdminApi.js +275 -0
- package/dist/module/GoTrueAdminApi.js.map +1 -0
- package/dist/module/GoTrueClient.d.ts +531 -0
- package/dist/module/GoTrueClient.d.ts.map +1 -0
- package/dist/module/GoTrueClient.js +2559 -0
- package/dist/module/GoTrueClient.js.map +1 -0
- package/dist/module/index.d.ts +9 -0
- package/dist/module/index.d.ts.map +1 -0
- package/dist/module/index.js +9 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/lib/base64url.d.ts +76 -0
- package/dist/module/lib/base64url.d.ts.map +1 -0
- package/dist/module/lib/base64url.js +257 -0
- package/dist/module/lib/base64url.js.map +1 -0
- package/dist/module/lib/constants.d.ts +26 -0
- package/dist/module/lib/constants.d.ts.map +1 -0
- package/dist/module/lib/constants.js +28 -0
- package/dist/module/lib/constants.js.map +1 -0
- package/dist/module/lib/error-codes.d.ts +7 -0
- package/dist/module/lib/error-codes.d.ts.map +1 -0
- package/dist/module/lib/error-codes.js +2 -0
- package/dist/module/lib/error-codes.js.map +1 -0
- package/dist/module/lib/errors.d.ts +100 -0
- package/dist/module/lib/errors.d.ts.map +1 -0
- package/dist/module/lib/errors.js +116 -0
- package/dist/module/lib/errors.js.map +1 -0
- package/dist/module/lib/fetch.d.ts +34 -0
- package/dist/module/lib/fetch.d.ts.map +1 -0
- package/dist/module/lib/fetch.js +184 -0
- package/dist/module/lib/fetch.js.map +1 -0
- package/dist/module/lib/helpers.d.ts +67 -0
- package/dist/module/lib/helpers.d.ts.map +1 -0
- package/dist/module/lib/helpers.js +329 -0
- package/dist/module/lib/helpers.js.map +1 -0
- package/dist/module/lib/local-storage.d.ts +9 -0
- package/dist/module/lib/local-storage.d.ts.map +1 -0
- package/dist/module/lib/local-storage.js +18 -0
- package/dist/module/lib/local-storage.js.map +1 -0
- package/dist/module/lib/locks.d.ts +64 -0
- package/dist/module/lib/locks.d.ts.map +1 -0
- package/dist/module/lib/locks.js +179 -0
- package/dist/module/lib/locks.js.map +1 -0
- package/dist/module/lib/polyfills.d.ts +5 -0
- package/dist/module/lib/polyfills.d.ts.map +1 -0
- package/dist/module/lib/polyfills.js +26 -0
- package/dist/module/lib/polyfills.js.map +1 -0
- package/dist/module/lib/types.d.ts +1130 -0
- package/dist/module/lib/types.d.ts.map +1 -0
- package/dist/module/lib/types.js +19 -0
- package/dist/module/lib/types.js.map +1 -0
- package/dist/module/lib/version.d.ts +2 -0
- package/dist/module/lib/version.d.ts.map +1 -0
- package/dist/module/lib/version.js +8 -0
- package/dist/module/lib/version.js.map +1 -0
- package/dist/module/lib/web3/ethereum.d.ts +96 -0
- package/dist/module/lib/web3/ethereum.d.ts.map +1 -0
- package/dist/module/lib/web3/ethereum.js +60 -0
- package/dist/module/lib/web3/ethereum.js.map +1 -0
- package/dist/module/lib/web3/solana.d.ts +160 -0
- package/dist/module/lib/web3/solana.d.ts.map +1 -0
- package/dist/module/lib/web3/solana.js +3 -0
- package/dist/module/lib/web3/solana.js.map +1 -0
- package/dist/module/lib/webauthn.d.ts +274 -0
- package/dist/module/lib/webauthn.d.ts.map +1 -0
- package/dist/module/lib/webauthn.dom.d.ts +583 -0
- package/dist/module/lib/webauthn.dom.d.ts.map +1 -0
- package/dist/module/lib/webauthn.dom.js +3 -0
- package/dist/module/lib/webauthn.dom.js.map +1 -0
- package/dist/module/lib/webauthn.errors.d.ts +80 -0
- package/dist/module/lib/webauthn.errors.d.ts.map +1 -0
- package/dist/module/lib/webauthn.errors.js +257 -0
- package/dist/module/lib/webauthn.errors.js.map +1 -0
- package/dist/module/lib/webauthn.js +685 -0
- package/dist/module/lib/webauthn.js.map +1 -0
- package/package.json +49 -0
- package/src/AuthAdminApi.ts +5 -0
- package/src/AuthClient.ts +5 -0
- package/src/GoTrueAdminApi.ts +352 -0
- package/src/GoTrueClient.ts +3483 -0
- package/src/index.ts +13 -0
- package/src/lib/base64url.ts +308 -0
- package/src/lib/constants.ts +34 -0
- package/src/lib/error-codes.ts +90 -0
- package/src/lib/errors.ts +165 -0
- package/src/lib/fetch.ts +283 -0
- package/src/lib/helpers.ts +416 -0
- package/src/lib/local-storage.ts +21 -0
- package/src/lib/locks.ts +225 -0
- package/src/lib/polyfills.ts +23 -0
- package/src/lib/types.ts +1450 -0
- package/src/lib/version.ts +7 -0
- package/src/lib/web3/ethereum.ts +184 -0
- package/src/lib/web3/solana.ts +186 -0
- package/src/lib/webauthn.dom.ts +636 -0
- package/src/lib/webauthn.errors.ts +317 -0
- package/src/lib/webauthn.ts +929 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Known error codes. Note that the server may also return other error codes
|
|
3
|
+
* not included in this list (if the client library is older than the version
|
|
4
|
+
* on the server).
|
|
5
|
+
*/
|
|
6
|
+
export type ErrorCode = 'unexpected_failure' | 'validation_failed' | 'bad_json' | 'email_exists' | 'phone_exists' | 'bad_jwt' | 'not_admin' | 'no_authorization' | 'user_not_found' | 'session_not_found' | 'session_expired' | 'refresh_token_not_found' | 'refresh_token_already_used' | 'flow_state_not_found' | 'flow_state_expired' | 'signup_disabled' | 'user_banned' | 'provider_email_needs_verification' | 'invite_not_found' | 'bad_oauth_state' | 'bad_oauth_callback' | 'oauth_provider_not_supported' | 'unexpected_audience' | 'single_identity_not_deletable' | 'email_conflict_identity_not_deletable' | 'identity_already_exists' | 'email_provider_disabled' | 'phone_provider_disabled' | 'too_many_enrolled_mfa_factors' | 'mfa_factor_name_conflict' | 'mfa_factor_not_found' | 'mfa_ip_address_mismatch' | 'mfa_challenge_expired' | 'mfa_verification_failed' | 'mfa_verification_rejected' | 'insufficient_aal' | 'captcha_failed' | 'saml_provider_disabled' | 'manual_linking_disabled' | 'sms_send_failed' | 'email_not_confirmed' | 'phone_not_confirmed' | 'reauth_nonce_missing' | 'saml_relay_state_not_found' | 'saml_relay_state_expired' | 'saml_idp_not_found' | 'saml_assertion_no_user_id' | 'saml_assertion_no_email' | 'user_already_exists' | 'sso_provider_not_found' | 'saml_metadata_fetch_failed' | 'saml_idp_already_exists' | 'sso_domain_already_exists' | 'saml_entity_id_mismatch' | 'conflict' | 'provider_disabled' | 'user_sso_managed' | 'reauthentication_needed' | 'same_password' | 'reauthentication_not_valid' | 'otp_expired' | 'otp_disabled' | 'identity_not_found' | 'weak_password' | 'over_request_rate_limit' | 'over_email_send_rate_limit' | 'over_sms_send_rate_limit' | 'bad_code_verifier' | 'anonymous_provider_disabled' | 'hook_timeout' | 'hook_timeout_after_retry' | 'hook_payload_over_size_limit' | 'hook_payload_invalid_content_type' | 'request_timeout' | 'mfa_phone_enroll_not_enabled' | 'mfa_phone_verify_not_enabled' | 'mfa_totp_enroll_not_enabled' | 'mfa_totp_verify_not_enabled' | 'mfa_webauthn_enroll_not_enabled' | 'mfa_webauthn_verify_not_enabled' | 'mfa_verified_factor_exists' | 'invalid_credentials' | 'email_address_not_authorized' | 'email_address_invalid';
|
|
7
|
+
//# sourceMappingURL=error-codes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../../src/lib/error-codes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,SAAS,GACjB,oBAAoB,GACpB,mBAAmB,GACnB,UAAU,GACV,cAAc,GACd,cAAc,GACd,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,iBAAiB,GACjB,yBAAyB,GACzB,4BAA4B,GAC5B,sBAAsB,GACtB,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,mCAAmC,GACnC,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,8BAA8B,GAC9B,qBAAqB,GACrB,+BAA+B,GAC/B,uCAAuC,GACvC,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,+BAA+B,GAC/B,0BAA0B,GAC1B,sBAAsB,GACtB,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,2BAA2B,GAC3B,kBAAkB,GAClB,gBAAgB,GAChB,wBAAwB,GACxB,yBAAyB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,4BAA4B,GAC5B,0BAA0B,GAC1B,oBAAoB,GACpB,2BAA2B,GAC3B,yBAAyB,GACzB,qBAAqB,GACrB,wBAAwB,GACxB,4BAA4B,GAC5B,yBAAyB,GACzB,2BAA2B,GAC3B,yBAAyB,GACzB,UAAU,GACV,mBAAmB,GACnB,kBAAkB,GAClB,yBAAyB,GACzB,eAAe,GACf,4BAA4B,GAC5B,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,eAAe,GACf,yBAAyB,GACzB,4BAA4B,GAC5B,0BAA0B,GAC1B,mBAAmB,GACnB,6BAA6B,GAC7B,cAAc,GACd,0BAA0B,GAC1B,8BAA8B,GAC9B,mCAAmC,GACnC,iBAAiB,GACjB,8BAA8B,GAC9B,8BAA8B,GAC9B,6BAA6B,GAC7B,6BAA6B,GAC7B,iCAAiC,GACjC,iCAAiC,GACjC,4BAA4B,GAC5B,qBAAqB,GACrB,8BAA8B,GAC9B,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-codes.js","sourceRoot":"","sources":["../../../src/lib/error-codes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { WeakPasswordReasons } from './types';
|
|
2
|
+
import { ErrorCode } from './error-codes';
|
|
3
|
+
export declare class AuthError extends Error {
|
|
4
|
+
/**
|
|
5
|
+
* Error code associated with the error. Most errors coming from
|
|
6
|
+
* HTTP responses will have a code, though some errors that occur
|
|
7
|
+
* before a response is received will not have one present. In that
|
|
8
|
+
* case {@link #status} will also be undefined.
|
|
9
|
+
*/
|
|
10
|
+
code: ErrorCode | (string & {}) | undefined;
|
|
11
|
+
/** HTTP status code that caused the error. */
|
|
12
|
+
status: number | undefined;
|
|
13
|
+
protected __isAuthError: boolean;
|
|
14
|
+
constructor(message: string, status?: number, code?: string);
|
|
15
|
+
}
|
|
16
|
+
export declare function isAuthError(error: unknown): error is AuthError;
|
|
17
|
+
export declare class AuthApiError extends AuthError {
|
|
18
|
+
status: number;
|
|
19
|
+
constructor(message: string, status: number, code: string | undefined);
|
|
20
|
+
}
|
|
21
|
+
export declare function isAuthApiError(error: unknown): error is AuthApiError;
|
|
22
|
+
export declare class AuthUnknownError extends AuthError {
|
|
23
|
+
originalError: unknown;
|
|
24
|
+
constructor(message: string, originalError: unknown);
|
|
25
|
+
}
|
|
26
|
+
export declare class CustomAuthError extends AuthError {
|
|
27
|
+
name: string;
|
|
28
|
+
status: number;
|
|
29
|
+
constructor(message: string, name: string, status: number, code: string | undefined);
|
|
30
|
+
}
|
|
31
|
+
export declare class AuthSessionMissingError extends CustomAuthError {
|
|
32
|
+
constructor();
|
|
33
|
+
}
|
|
34
|
+
export declare function isAuthSessionMissingError(error: any): error is AuthSessionMissingError;
|
|
35
|
+
export declare class AuthInvalidTokenResponseError extends CustomAuthError {
|
|
36
|
+
constructor();
|
|
37
|
+
}
|
|
38
|
+
export declare class AuthInvalidCredentialsError extends CustomAuthError {
|
|
39
|
+
constructor(message: string);
|
|
40
|
+
}
|
|
41
|
+
export declare class AuthImplicitGrantRedirectError extends CustomAuthError {
|
|
42
|
+
details: {
|
|
43
|
+
error: string;
|
|
44
|
+
code: string;
|
|
45
|
+
} | null;
|
|
46
|
+
constructor(message: string, details?: {
|
|
47
|
+
error: string;
|
|
48
|
+
code: string;
|
|
49
|
+
} | null);
|
|
50
|
+
toJSON(): {
|
|
51
|
+
name: string;
|
|
52
|
+
message: string;
|
|
53
|
+
status: number;
|
|
54
|
+
details: {
|
|
55
|
+
error: string;
|
|
56
|
+
code: string;
|
|
57
|
+
} | null;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export declare function isAuthImplicitGrantRedirectError(error: any): error is AuthImplicitGrantRedirectError;
|
|
61
|
+
export declare class AuthPKCEGrantCodeExchangeError extends CustomAuthError {
|
|
62
|
+
details: {
|
|
63
|
+
error: string;
|
|
64
|
+
code: string;
|
|
65
|
+
} | null;
|
|
66
|
+
constructor(message: string, details?: {
|
|
67
|
+
error: string;
|
|
68
|
+
code: string;
|
|
69
|
+
} | null);
|
|
70
|
+
toJSON(): {
|
|
71
|
+
name: string;
|
|
72
|
+
message: string;
|
|
73
|
+
status: number;
|
|
74
|
+
details: {
|
|
75
|
+
error: string;
|
|
76
|
+
code: string;
|
|
77
|
+
} | null;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export declare class AuthRetryableFetchError extends CustomAuthError {
|
|
81
|
+
constructor(message: string, status: number);
|
|
82
|
+
}
|
|
83
|
+
export declare function isAuthRetryableFetchError(error: unknown): error is AuthRetryableFetchError;
|
|
84
|
+
/**
|
|
85
|
+
* This error is thrown on certain methods when the password used is deemed
|
|
86
|
+
* weak. Inspect the reasons to identify what password strength rules are
|
|
87
|
+
* inadequate.
|
|
88
|
+
*/
|
|
89
|
+
export declare class AuthWeakPasswordError extends CustomAuthError {
|
|
90
|
+
/**
|
|
91
|
+
* Reasons why the password is deemed weak.
|
|
92
|
+
*/
|
|
93
|
+
reasons: WeakPasswordReasons[];
|
|
94
|
+
constructor(message: string, status: number, reasons: WeakPasswordReasons[]);
|
|
95
|
+
}
|
|
96
|
+
export declare function isAuthWeakPasswordError(error: unknown): error is AuthWeakPasswordError;
|
|
97
|
+
export declare class AuthInvalidJwtError extends CustomAuthError {
|
|
98
|
+
constructor(message: string);
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,qBAAa,SAAU,SAAQ,KAAK;IAClC;;;;;OAKG;IACH,IAAI,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAA;IAE3C,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,SAAS,CAAC,aAAa,UAAO;gBAElB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAM5D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAE9D;AAED,qBAAa,YAAa,SAAQ,SAAS;IACzC,MAAM,EAAE,MAAM,CAAA;gBAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;CAMtE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,aAAa,EAAE,OAAO,CAAA;gBAEV,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;CAKpD;AAED,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;gBAEF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;CAKpF;AAED,qBAAa,uBAAwB,SAAQ,eAAe;;CAI3D;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,uBAAuB,CAEtF;AAED,qBAAa,6BAA8B,SAAQ,eAAe;;CAIjE;AAED,qBAAa,2BAA4B,SAAQ,eAAe;gBAClD,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,8BAA+B,SAAQ,eAAe;IACjE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAO;gBAC1C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;IAKnF,MAAM;;;;;mBANY,MAAM;kBAAQ,MAAM;;;CAcvC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,GAAG,GACT,KAAK,IAAI,8BAA8B,CAEzC;AAED,qBAAa,8BAA+B,SAAQ,eAAe;IACjE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAO;gBAE1C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAW;IAKnF,MAAM;;;;;mBAPY,MAAM;kBAAQ,MAAM;;;CAevC;AAED,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG5C;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAE1F;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IACxD;;OAEG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAA;gBAElB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;CAK5E;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAEtF;AAED,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,OAAO,EAAE,MAAM;CAG5B"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
export class AuthError extends Error {
|
|
2
|
+
constructor(message, status, code) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.__isAuthError = true;
|
|
5
|
+
this.name = 'AuthError';
|
|
6
|
+
this.status = status;
|
|
7
|
+
this.code = code;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export function isAuthError(error) {
|
|
11
|
+
return typeof error === 'object' && error !== null && '__isAuthError' in error;
|
|
12
|
+
}
|
|
13
|
+
export class AuthApiError extends AuthError {
|
|
14
|
+
constructor(message, status, code) {
|
|
15
|
+
super(message, status, code);
|
|
16
|
+
this.name = 'AuthApiError';
|
|
17
|
+
this.status = status;
|
|
18
|
+
this.code = code;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function isAuthApiError(error) {
|
|
22
|
+
return isAuthError(error) && error.name === 'AuthApiError';
|
|
23
|
+
}
|
|
24
|
+
export class AuthUnknownError extends AuthError {
|
|
25
|
+
constructor(message, originalError) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.name = 'AuthUnknownError';
|
|
28
|
+
this.originalError = originalError;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class CustomAuthError extends AuthError {
|
|
32
|
+
constructor(message, name, status, code) {
|
|
33
|
+
super(message, status, code);
|
|
34
|
+
this.name = name;
|
|
35
|
+
this.status = status;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
export class AuthSessionMissingError extends CustomAuthError {
|
|
39
|
+
constructor() {
|
|
40
|
+
super('Auth session missing!', 'AuthSessionMissingError', 400, undefined);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function isAuthSessionMissingError(error) {
|
|
44
|
+
return isAuthError(error) && error.name === 'AuthSessionMissingError';
|
|
45
|
+
}
|
|
46
|
+
export class AuthInvalidTokenResponseError extends CustomAuthError {
|
|
47
|
+
constructor() {
|
|
48
|
+
super('Auth session or user missing', 'AuthInvalidTokenResponseError', 500, undefined);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class AuthInvalidCredentialsError extends CustomAuthError {
|
|
52
|
+
constructor(message) {
|
|
53
|
+
super(message, 'AuthInvalidCredentialsError', 400, undefined);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export class AuthImplicitGrantRedirectError extends CustomAuthError {
|
|
57
|
+
constructor(message, details = null) {
|
|
58
|
+
super(message, 'AuthImplicitGrantRedirectError', 500, undefined);
|
|
59
|
+
this.details = null;
|
|
60
|
+
this.details = details;
|
|
61
|
+
}
|
|
62
|
+
toJSON() {
|
|
63
|
+
return {
|
|
64
|
+
name: this.name,
|
|
65
|
+
message: this.message,
|
|
66
|
+
status: this.status,
|
|
67
|
+
details: this.details,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function isAuthImplicitGrantRedirectError(error) {
|
|
72
|
+
return isAuthError(error) && error.name === 'AuthImplicitGrantRedirectError';
|
|
73
|
+
}
|
|
74
|
+
export class AuthPKCEGrantCodeExchangeError extends CustomAuthError {
|
|
75
|
+
constructor(message, details = null) {
|
|
76
|
+
super(message, 'AuthPKCEGrantCodeExchangeError', 500, undefined);
|
|
77
|
+
this.details = null;
|
|
78
|
+
this.details = details;
|
|
79
|
+
}
|
|
80
|
+
toJSON() {
|
|
81
|
+
return {
|
|
82
|
+
name: this.name,
|
|
83
|
+
message: this.message,
|
|
84
|
+
status: this.status,
|
|
85
|
+
details: this.details,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export class AuthRetryableFetchError extends CustomAuthError {
|
|
90
|
+
constructor(message, status) {
|
|
91
|
+
super(message, 'AuthRetryableFetchError', status, undefined);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export function isAuthRetryableFetchError(error) {
|
|
95
|
+
return isAuthError(error) && error.name === 'AuthRetryableFetchError';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* This error is thrown on certain methods when the password used is deemed
|
|
99
|
+
* weak. Inspect the reasons to identify what password strength rules are
|
|
100
|
+
* inadequate.
|
|
101
|
+
*/
|
|
102
|
+
export class AuthWeakPasswordError extends CustomAuthError {
|
|
103
|
+
constructor(message, status, reasons) {
|
|
104
|
+
super(message, 'AuthWeakPasswordError', status, 'weak_password');
|
|
105
|
+
this.reasons = reasons;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function isAuthWeakPasswordError(error) {
|
|
109
|
+
return isAuthError(error) && error.name === 'AuthWeakPasswordError';
|
|
110
|
+
}
|
|
111
|
+
export class AuthInvalidJwtError extends CustomAuthError {
|
|
112
|
+
constructor(message) {
|
|
113
|
+
super(message, 'AuthInvalidJwtError', 400, 'invalid_jwt');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { AuthResponse, AuthResponsePassword, SSOResponse, GenerateLinkResponse, UserResponse } from './types';
|
|
2
|
+
export type Fetch = typeof fetch;
|
|
3
|
+
export interface FetchOptions {
|
|
4
|
+
headers?: {
|
|
5
|
+
[key: string]: string;
|
|
6
|
+
};
|
|
7
|
+
noResolveJson?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface FetchParameters {
|
|
10
|
+
signal?: AbortSignal;
|
|
11
|
+
}
|
|
12
|
+
export type RequestMethodType = 'GET' | 'POST' | 'PUT' | 'DELETE';
|
|
13
|
+
export declare function handleError(error: unknown): Promise<void>;
|
|
14
|
+
interface GotrueRequestOptions extends FetchOptions {
|
|
15
|
+
jwt?: string;
|
|
16
|
+
redirectTo?: string;
|
|
17
|
+
body?: object;
|
|
18
|
+
query?: {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Function that transforms api response from gotrue into a desirable / standardised format
|
|
23
|
+
*/
|
|
24
|
+
xform?: (data: any) => any;
|
|
25
|
+
}
|
|
26
|
+
export declare function _request(fetcher: Fetch, method: RequestMethodType, url: string, options?: GotrueRequestOptions): Promise<any>;
|
|
27
|
+
export declare function _sessionResponse(data: any): AuthResponse;
|
|
28
|
+
export declare function _sessionResponsePassword(data: any): AuthResponsePassword;
|
|
29
|
+
export declare function _userResponse(data: any): UserResponse;
|
|
30
|
+
export declare function _ssoResponse(data: any): SSOResponse;
|
|
31
|
+
export declare function _generateLinkResponse(data: any): GenerateLinkResponse;
|
|
32
|
+
export declare function _noResolveJsonResponse(data: any): Response;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,WAAW,EAEX,oBAAoB,EAEpB,YAAY,EACb,MAAM,SAAS,CAAA;AAShB,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAA;AAEhC,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,QAAQ,CAAA;AAOjE,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBA+D/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;AAwCD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,YAAY,CAYxD;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,GAAG,GAAG,oBAAoB,CAiBxE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,YAAY,CAGrD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,WAAW,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,oBAAoB,CAmBrE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,CAE1D"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { API_VERSIONS, API_VERSION_HEADER_NAME } from './constants';
|
|
13
|
+
import { expiresAt, looksLikeFetchResponse, parseResponseAPIVersion } from './helpers';
|
|
14
|
+
import { AuthApiError, AuthRetryableFetchError, AuthWeakPasswordError, AuthUnknownError, AuthSessionMissingError, } from './errors';
|
|
15
|
+
const _getErrorMessage = (err) => err.msg || err.message || err.error_description || err.error || JSON.stringify(err);
|
|
16
|
+
const NETWORK_ERROR_CODES = [502, 503, 504];
|
|
17
|
+
export async function handleError(error) {
|
|
18
|
+
var _a;
|
|
19
|
+
if (!looksLikeFetchResponse(error)) {
|
|
20
|
+
throw new AuthRetryableFetchError(_getErrorMessage(error), 0);
|
|
21
|
+
}
|
|
22
|
+
if (NETWORK_ERROR_CODES.includes(error.status)) {
|
|
23
|
+
// status in 500...599 range - server had an error, request might be retryed.
|
|
24
|
+
throw new AuthRetryableFetchError(_getErrorMessage(error), error.status);
|
|
25
|
+
}
|
|
26
|
+
let data;
|
|
27
|
+
try {
|
|
28
|
+
data = await error.json();
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
throw new AuthUnknownError(_getErrorMessage(e), e);
|
|
32
|
+
}
|
|
33
|
+
let errorCode = undefined;
|
|
34
|
+
const responseAPIVersion = parseResponseAPIVersion(error);
|
|
35
|
+
if (responseAPIVersion &&
|
|
36
|
+
responseAPIVersion.getTime() >= API_VERSIONS['2024-01-01'].timestamp &&
|
|
37
|
+
typeof data === 'object' &&
|
|
38
|
+
data &&
|
|
39
|
+
typeof data.code === 'string') {
|
|
40
|
+
errorCode = data.code;
|
|
41
|
+
}
|
|
42
|
+
else if (typeof data === 'object' && data && typeof data.error_code === 'string') {
|
|
43
|
+
errorCode = data.error_code;
|
|
44
|
+
}
|
|
45
|
+
if (!errorCode) {
|
|
46
|
+
// Legacy support for weak password errors, when there were no error codes
|
|
47
|
+
if (typeof data === 'object' &&
|
|
48
|
+
data &&
|
|
49
|
+
typeof data.weak_password === 'object' &&
|
|
50
|
+
data.weak_password &&
|
|
51
|
+
Array.isArray(data.weak_password.reasons) &&
|
|
52
|
+
data.weak_password.reasons.length &&
|
|
53
|
+
data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) {
|
|
54
|
+
throw new AuthWeakPasswordError(_getErrorMessage(data), error.status, data.weak_password.reasons);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (errorCode === 'weak_password') {
|
|
58
|
+
throw new AuthWeakPasswordError(_getErrorMessage(data), error.status, ((_a = data.weak_password) === null || _a === void 0 ? void 0 : _a.reasons) || []);
|
|
59
|
+
}
|
|
60
|
+
else if (errorCode === 'session_not_found') {
|
|
61
|
+
// The `session_id` inside the JWT does not correspond to a row in the
|
|
62
|
+
// `sessions` table. This usually means the user has signed out, has been
|
|
63
|
+
// deleted, or their session has somehow been terminated.
|
|
64
|
+
throw new AuthSessionMissingError();
|
|
65
|
+
}
|
|
66
|
+
throw new AuthApiError(_getErrorMessage(data), error.status || 500, errorCode);
|
|
67
|
+
}
|
|
68
|
+
const _getRequestParams = (method, options, parameters, body) => {
|
|
69
|
+
const params = { method, headers: (options === null || options === void 0 ? void 0 : options.headers) || {} };
|
|
70
|
+
if (method === 'GET') {
|
|
71
|
+
return params;
|
|
72
|
+
}
|
|
73
|
+
params.headers = Object.assign({ 'Content-Type': 'application/json;charset=UTF-8' }, options === null || options === void 0 ? void 0 : options.headers);
|
|
74
|
+
params.body = JSON.stringify(body);
|
|
75
|
+
return Object.assign(Object.assign({}, params), parameters);
|
|
76
|
+
};
|
|
77
|
+
export async function _request(fetcher, method, url, options) {
|
|
78
|
+
var _a;
|
|
79
|
+
const headers = Object.assign({}, options === null || options === void 0 ? void 0 : options.headers);
|
|
80
|
+
if (!headers[API_VERSION_HEADER_NAME]) {
|
|
81
|
+
headers[API_VERSION_HEADER_NAME] = API_VERSIONS['2024-01-01'].name;
|
|
82
|
+
}
|
|
83
|
+
if (options === null || options === void 0 ? void 0 : options.jwt) {
|
|
84
|
+
headers['Authorization'] = `Bearer ${options.jwt}`;
|
|
85
|
+
}
|
|
86
|
+
const qs = (_a = options === null || options === void 0 ? void 0 : options.query) !== null && _a !== void 0 ? _a : {};
|
|
87
|
+
if (options === null || options === void 0 ? void 0 : options.redirectTo) {
|
|
88
|
+
qs['redirect_to'] = options.redirectTo;
|
|
89
|
+
}
|
|
90
|
+
const queryString = Object.keys(qs).length ? '?' + new URLSearchParams(qs).toString() : '';
|
|
91
|
+
const data = await _handleRequest(fetcher, method, url + queryString, {
|
|
92
|
+
headers,
|
|
93
|
+
noResolveJson: options === null || options === void 0 ? void 0 : options.noResolveJson,
|
|
94
|
+
}, {}, options === null || options === void 0 ? void 0 : options.body);
|
|
95
|
+
return (options === null || options === void 0 ? void 0 : options.xform) ? options === null || options === void 0 ? void 0 : options.xform(data) : { data: Object.assign({}, data), error: null };
|
|
96
|
+
}
|
|
97
|
+
async function _handleRequest(fetcher, method, url, options, parameters, body) {
|
|
98
|
+
const requestParams = _getRequestParams(method, options, parameters, body);
|
|
99
|
+
let result;
|
|
100
|
+
try {
|
|
101
|
+
result = await fetcher(url, Object.assign({}, requestParams));
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
console.error(e);
|
|
105
|
+
// fetch failed, likely due to a network or CORS error
|
|
106
|
+
throw new AuthRetryableFetchError(_getErrorMessage(e), 0);
|
|
107
|
+
}
|
|
108
|
+
if (!result.ok) {
|
|
109
|
+
await handleError(result);
|
|
110
|
+
}
|
|
111
|
+
if (options === null || options === void 0 ? void 0 : options.noResolveJson) {
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
return await result.json();
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
await handleError(e);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
export function _sessionResponse(data) {
|
|
122
|
+
var _a;
|
|
123
|
+
let session = null;
|
|
124
|
+
if (hasSession(data)) {
|
|
125
|
+
session = Object.assign({}, data);
|
|
126
|
+
if (!data.expires_at) {
|
|
127
|
+
session.expires_at = expiresAt(data.expires_in);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const user = (_a = data.user) !== null && _a !== void 0 ? _a : data;
|
|
131
|
+
return { data: { session, user }, error: null };
|
|
132
|
+
}
|
|
133
|
+
export function _sessionResponsePassword(data) {
|
|
134
|
+
const response = _sessionResponse(data);
|
|
135
|
+
if (!response.error &&
|
|
136
|
+
data.weak_password &&
|
|
137
|
+
typeof data.weak_password === 'object' &&
|
|
138
|
+
Array.isArray(data.weak_password.reasons) &&
|
|
139
|
+
data.weak_password.reasons.length &&
|
|
140
|
+
data.weak_password.message &&
|
|
141
|
+
typeof data.weak_password.message === 'string' &&
|
|
142
|
+
data.weak_password.reasons.reduce((a, i) => a && typeof i === 'string', true)) {
|
|
143
|
+
response.data.weak_password = data.weak_password;
|
|
144
|
+
}
|
|
145
|
+
return response;
|
|
146
|
+
}
|
|
147
|
+
export function _userResponse(data) {
|
|
148
|
+
var _a;
|
|
149
|
+
const user = (_a = data.user) !== null && _a !== void 0 ? _a : data;
|
|
150
|
+
return { data: { user }, error: null };
|
|
151
|
+
}
|
|
152
|
+
export function _ssoResponse(data) {
|
|
153
|
+
return { data, error: null };
|
|
154
|
+
}
|
|
155
|
+
export function _generateLinkResponse(data) {
|
|
156
|
+
const { action_link, email_otp, hashed_token, redirect_to, verification_type } = data, rest = __rest(data, ["action_link", "email_otp", "hashed_token", "redirect_to", "verification_type"]);
|
|
157
|
+
const properties = {
|
|
158
|
+
action_link,
|
|
159
|
+
email_otp,
|
|
160
|
+
hashed_token,
|
|
161
|
+
redirect_to,
|
|
162
|
+
verification_type,
|
|
163
|
+
};
|
|
164
|
+
const user = Object.assign({}, rest);
|
|
165
|
+
return {
|
|
166
|
+
data: {
|
|
167
|
+
properties,
|
|
168
|
+
user,
|
|
169
|
+
},
|
|
170
|
+
error: null,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
export function _noResolveJsonResponse(data) {
|
|
174
|
+
return data;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* hasSession checks if the response object contains a valid session
|
|
178
|
+
* @param data A response object
|
|
179
|
+
* @returns true if a session is in the response
|
|
180
|
+
*/
|
|
181
|
+
function hasSession(data) {
|
|
182
|
+
return data.access_token && data.refresh_token && data.expires_in;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { JwtHeader, JwtPayload, SupportedStorage, User } from './types';
|
|
2
|
+
import { Uint8Array_ } from './webauthn.dom';
|
|
3
|
+
export declare function expiresAt(expiresIn: number): number;
|
|
4
|
+
export declare function uuid(): string;
|
|
5
|
+
export declare const isBrowser: () => boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Checks whether localStorage is supported on this browser.
|
|
8
|
+
*/
|
|
9
|
+
export declare const supportsLocalStorage: () => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Extracts parameters encoded in the URL both in the query and fragment.
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseParametersFromURL(href: string): {
|
|
14
|
+
[parameter: string]: string;
|
|
15
|
+
};
|
|
16
|
+
type Fetch = typeof fetch;
|
|
17
|
+
export declare const resolveFetch: (customFetch?: Fetch) => Fetch;
|
|
18
|
+
export declare const looksLikeFetchResponse: (maybeResponse: unknown) => maybeResponse is Response;
|
|
19
|
+
export declare const setItemAsync: (storage: SupportedStorage, key: string, data: any) => Promise<void>;
|
|
20
|
+
export declare const getItemAsync: (storage: SupportedStorage, key: string) => Promise<unknown>;
|
|
21
|
+
export declare const removeItemAsync: (storage: SupportedStorage, key: string) => Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* A deferred represents some asynchronous work that is not yet finished, which
|
|
24
|
+
* may or may not culminate in a value.
|
|
25
|
+
* Taken from: https://github.com/mike-north/types/blob/master/src/async.ts
|
|
26
|
+
*/
|
|
27
|
+
export declare class Deferred<T = any> {
|
|
28
|
+
static promiseConstructor: PromiseConstructor;
|
|
29
|
+
readonly promise: PromiseLike<T>;
|
|
30
|
+
readonly resolve: (value?: T | PromiseLike<T>) => void;
|
|
31
|
+
readonly reject: (reason?: any) => any;
|
|
32
|
+
constructor();
|
|
33
|
+
}
|
|
34
|
+
export declare function decodeJWT(token: string): {
|
|
35
|
+
header: JwtHeader;
|
|
36
|
+
payload: JwtPayload;
|
|
37
|
+
signature: Uint8Array_;
|
|
38
|
+
raw: {
|
|
39
|
+
header: string;
|
|
40
|
+
payload: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Creates a promise that resolves to null after some time.
|
|
45
|
+
*/
|
|
46
|
+
export declare function sleep(time: number): Promise<null>;
|
|
47
|
+
/**
|
|
48
|
+
* Converts the provided async function into a retryable function. Each result
|
|
49
|
+
* or thrown error is sent to the isRetryable function which should return true
|
|
50
|
+
* if the function should run again.
|
|
51
|
+
*/
|
|
52
|
+
export declare function retryable<T>(fn: (attempt: number) => Promise<T>, isRetryable: (attempt: number, error: any | null, result?: T) => boolean): Promise<T>;
|
|
53
|
+
export declare function generatePKCEVerifier(): string;
|
|
54
|
+
export declare function generatePKCEChallenge(verifier: string): Promise<string>;
|
|
55
|
+
export declare function getCodeChallengeAndMethod(storage: SupportedStorage, storageKey: string, isPasswordRecovery?: boolean): Promise<string[]>;
|
|
56
|
+
export declare function parseResponseAPIVersion(response: Response): Date | null;
|
|
57
|
+
export declare function validateExp(exp: number): void;
|
|
58
|
+
export declare function getAlgorithm(alg: 'HS256' | 'RS256' | 'ES256'): RsaHashedImportParams | EcKeyImportParams;
|
|
59
|
+
export declare function validateUUID(str: string): void;
|
|
60
|
+
export declare function userNotAvailableProxy(): User;
|
|
61
|
+
/**
|
|
62
|
+
* Deep clones a JSON-serializable object using JSON.parse(JSON.stringify(obj)).
|
|
63
|
+
* Note: Only works for JSON-safe data.
|
|
64
|
+
*/
|
|
65
|
+
export declare function deepClone<T>(obj: T): T;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/helpers.ts"],"names":[],"mappings":"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"}
|