@supabase/auth-js 2.73.0-rc.3 → 2.79.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/README.md +96 -4
- package/dist/main/GoTrueAdminApi.js.map +1 -1
- package/dist/main/GoTrueClient.d.ts +21 -2
- package/dist/main/GoTrueClient.d.ts.map +1 -1
- package/dist/main/GoTrueClient.js +61 -37
- package/dist/main/GoTrueClient.js.map +1 -1
- package/dist/main/lib/base64url.d.ts +3 -2
- package/dist/main/lib/base64url.d.ts.map +1 -1
- package/dist/main/lib/base64url.js +10 -11
- package/dist/main/lib/base64url.js.map +1 -1
- package/dist/main/lib/error-codes.d.ts +1 -1
- package/dist/main/lib/error-codes.d.ts.map +1 -1
- package/dist/main/lib/errors.d.ts.map +1 -1
- package/dist/main/lib/errors.js +7 -7
- package/dist/main/lib/errors.js.map +1 -1
- package/dist/main/lib/fetch.d.ts +2 -2
- package/dist/main/lib/fetch.d.ts.map +1 -1
- package/dist/main/lib/fetch.js +8 -9
- package/dist/main/lib/fetch.js.map +1 -1
- package/dist/main/lib/helpers.d.ts +3 -2
- package/dist/main/lib/helpers.d.ts.map +1 -1
- package/dist/main/lib/helpers.js +34 -24
- package/dist/main/lib/helpers.js.map +1 -1
- package/dist/main/lib/local-storage.js +1 -2
- package/dist/main/lib/local-storage.js.map +1 -1
- package/dist/main/lib/locks.js +3 -3
- package/dist/main/lib/locks.js.map +1 -1
- package/dist/main/lib/polyfills.js +1 -2
- package/dist/main/lib/polyfills.js.map +1 -1
- package/dist/main/lib/types.d.ts +233 -112
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/types.js +3 -2
- package/dist/main/lib/types.js.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.d.ts.map +1 -1
- package/dist/main/lib/version.js +7 -1
- package/dist/main/lib/version.js.map +1 -1
- package/dist/main/lib/web3/ethereum.d.ts +9 -9
- package/dist/main/lib/web3/ethereum.d.ts.map +1 -1
- package/dist/main/lib/web3/ethereum.js +4 -5
- package/dist/main/lib/web3/ethereum.js.map +1 -1
- package/dist/main/lib/web3/solana.d.ts +4 -4
- package/dist/main/lib/web3/solana.d.ts.map +1 -1
- 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/GoTrueAdminApi.js.map +1 -1
- package/dist/module/GoTrueClient.d.ts +21 -2
- package/dist/module/GoTrueClient.d.ts.map +1 -1
- package/dist/module/GoTrueClient.js +68 -43
- package/dist/module/GoTrueClient.js.map +1 -1
- package/dist/module/lib/base64url.d.ts +3 -2
- package/dist/module/lib/base64url.d.ts.map +1 -1
- package/dist/module/lib/base64url.js.map +1 -1
- package/dist/module/lib/error-codes.d.ts +1 -1
- package/dist/module/lib/error-codes.d.ts.map +1 -1
- package/dist/module/lib/errors.d.ts.map +1 -1
- package/dist/module/lib/fetch.d.ts +2 -2
- package/dist/module/lib/fetch.d.ts.map +1 -1
- package/dist/module/lib/fetch.js.map +1 -1
- package/dist/module/lib/helpers.d.ts +3 -2
- package/dist/module/lib/helpers.d.ts.map +1 -1
- package/dist/module/lib/helpers.js.map +1 -1
- package/dist/module/lib/locks.js.map +1 -1
- package/dist/module/lib/polyfills.js.map +1 -1
- package/dist/module/lib/types.d.ts +233 -112
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/types.js +2 -1
- package/dist/module/lib/types.js.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.d.ts.map +1 -1
- package/dist/module/lib/version.js +7 -1
- package/dist/module/lib/version.js.map +1 -1
- package/dist/module/lib/web3/ethereum.d.ts +9 -9
- package/dist/module/lib/web3/ethereum.d.ts.map +1 -1
- package/dist/module/lib/web3/ethereum.js.map +1 -1
- package/dist/module/lib/web3/solana.d.ts +4 -4
- package/dist/module/lib/web3/solana.d.ts.map +1 -1
- 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 +13 -34
- package/src/GoTrueClient.ts +218 -69
- package/src/lib/base64url.ts +4 -2
- package/src/lib/helpers.ts +2 -1
- package/src/lib/types.ts +212 -33
- package/src/lib/version.ts +7 -1
- package/src/lib/webauthn.dom.ts +636 -0
- package/src/lib/webauthn.errors.ts +317 -0
- package/src/lib/webauthn.ts +929 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ An isomorphic JavaScript client library for the [Supabase Auth](https://github.c
|
|
|
11
11
|
## Docs
|
|
12
12
|
|
|
13
13
|
- Using `auth-js`: https://supabase.com/docs/reference/javascript/auth-signup
|
|
14
|
-
- TypeDoc: https://supabase.github.io/auth-js/v2
|
|
14
|
+
- TypeDoc: https://supabase.github.io/supabase-js/auth-js/v2/spec.json
|
|
15
15
|
|
|
16
16
|
## Quick start
|
|
17
17
|
|
|
@@ -47,10 +47,102 @@ const AUTH_URL = 'http://localhost:9999'
|
|
|
47
47
|
const auth = new AuthClient({ url: AUTH_URL, fetch: fetch })
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
## Development
|
|
51
|
+
|
|
52
|
+
This package is part of the [Supabase JavaScript monorepo](https://github.com/supabase/supabase-js). To work on this package:
|
|
53
|
+
|
|
54
|
+
### Building
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Complete build (from monorepo root)
|
|
58
|
+
npx nx build auth-js
|
|
59
|
+
|
|
60
|
+
# Build with watch mode for development
|
|
61
|
+
npx nx build auth-js --watch
|
|
62
|
+
|
|
63
|
+
# Individual build targets
|
|
64
|
+
npx nx build:main auth-js # CommonJS build (dist/main/)
|
|
65
|
+
npx nx build:module auth-js # ES Modules build (dist/module/)
|
|
66
|
+
|
|
67
|
+
# Other useful commands
|
|
68
|
+
npx nx clean auth-js # Clean build artifacts
|
|
69
|
+
npx nx format auth-js # Format code with Prettier
|
|
70
|
+
npx nx lint auth-js # Run ESLint
|
|
71
|
+
npx nx typecheck auth-js # TypeScript type checking
|
|
72
|
+
npx nx docs auth-js # Generate documentation
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
#### Build Outputs
|
|
76
|
+
|
|
77
|
+
- **CommonJS (`dist/main/`)** - For Node.js environments
|
|
78
|
+
- **ES Modules (`dist/module/`)** - For modern bundlers (Webpack, Vite, Rollup)
|
|
79
|
+
- **TypeScript definitions (`dist/module/index.d.ts`)** - Type definitions for TypeScript projects
|
|
80
|
+
|
|
81
|
+
### Testing
|
|
82
|
+
|
|
83
|
+
**Docker Required!** The auth-js tests require a local Supabase Auth server (GoTrue) running in Docker.
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Run complete test suite (from monorepo root)
|
|
87
|
+
npx nx test:auth auth-js
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
This command automatically:
|
|
91
|
+
|
|
92
|
+
1. Stops any existing test containers
|
|
93
|
+
2. Starts a Supabase Auth server (GoTrue) and PostgreSQL database in Docker
|
|
94
|
+
3. Waits for services to be ready (30 seconds)
|
|
95
|
+
4. Runs the test suite
|
|
96
|
+
5. Cleans up Docker containers after tests complete
|
|
97
|
+
|
|
98
|
+
#### Individual Test Commands
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Run just the test suite (requires infrastructure to be running)
|
|
102
|
+
npx nx test:suite auth-js
|
|
103
|
+
|
|
104
|
+
# Manually manage test infrastructure
|
|
105
|
+
npx nx test:infra auth-js # Start Docker containers
|
|
106
|
+
npx nx test:clean auth-js # Stop and remove containers
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
#### Development Testing
|
|
110
|
+
|
|
111
|
+
For actively developing and debugging tests:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
# Start infrastructure once
|
|
115
|
+
npx nx test:infra auth-js
|
|
116
|
+
|
|
117
|
+
# Run tests multiple times (faster since containers stay up)
|
|
118
|
+
npx nx test:suite auth-js
|
|
119
|
+
|
|
120
|
+
# Clean up when done
|
|
121
|
+
npx nx test:clean auth-js
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### Test Infrastructure
|
|
125
|
+
|
|
126
|
+
The Docker setup includes:
|
|
127
|
+
|
|
128
|
+
- **Supabase Auth (GoTrue)** - The authentication server
|
|
129
|
+
- **PostgreSQL** - Database for auth data
|
|
130
|
+
- Pre-configured with test users and settings
|
|
131
|
+
|
|
132
|
+
#### Prerequisites
|
|
133
|
+
|
|
134
|
+
- **Docker** must be installed and running
|
|
135
|
+
- Ports used by test infrastructure (check `infra/docker-compose.yml`)
|
|
136
|
+
- No full Supabase instance needed - just the Auth server
|
|
137
|
+
|
|
138
|
+
### Contributing
|
|
139
|
+
|
|
140
|
+
We welcome contributions! Please see our [Contributing Guide](../../../CONTRIBUTING.md) for details on how to get started.
|
|
141
|
+
|
|
142
|
+
For major changes or if you're unsure about something, please open an issue first to discuss your proposed changes.
|
|
143
|
+
|
|
50
144
|
## Sponsors
|
|
51
145
|
|
|
52
|
-
We are building the features of Firebase using enterprise-grade, open source products. We support existing communities wherever possible, and if the products don
|
|
146
|
+
We are building the features of Firebase using enterprise-grade, open source products. We support existing communities wherever possible, and if the products don't exist we build them and open source them ourselves.
|
|
53
147
|
|
|
54
148
|
[](https://github.com/sponsors/supabase)
|
|
55
|
-
|
|
56
|
-

|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoTrueAdminApi.js","sourceRoot":"","sources":["../../src/GoTrueAdminApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uCAMoB;AACpB,2CAA0D;AAC1D,uCAeoB;AACpB,yCAAqD;AAErD,MAAqB,cAAc;IAUjC,YAAY,EACV,GAAG,GAAG,EAAE,EACR,OAAO,GAAG,EAAE,EACZ,KAAK,GAON;QACC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG;YACT,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;SAC5C,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACX,GAAW,EACX,QAAsB,uBAAe,CAAC,CAAC,CAAC;QAExC,IAAI,uBAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"GoTrueAdminApi.js","sourceRoot":"","sources":["../../src/GoTrueAdminApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import GoTrueAdminApi from './GoTrueAdminApi';
|
|
|
2
2
|
import { AuthError } from './lib/errors';
|
|
3
3
|
import { Fetch } from './lib/fetch';
|
|
4
4
|
import { Deferred } from './lib/helpers';
|
|
5
|
-
import { AuthChangeEvent, AuthResponse, AuthTokenResponse, AuthTokenResponsePassword,
|
|
5
|
+
import type { AuthChangeEvent, AuthFlowType, AuthOtpResponse, AuthResponse, AuthTokenResponse, AuthTokenResponsePassword, CallRefreshTokenResult, GoTrueClientOptions, GoTrueMFAApi, InitializeResult, JWK, JwtHeader, JwtPayload, LockFunc, OAuthResponse, ResendParams, Session, SignInAnonymouslyCredentials, SignInWithIdTokenCredentials, SignInWithOAuthCredentials, SignInWithPasswordCredentials, SignInWithPasswordlessCredentials, SignInWithSSO, SignOut, SignUpWithPasswordCredentials, SSOResponse, Subscription, SupportedStorage, User, UserAttributes, UserIdentity, UserResponse, VerifyOtpParams, Web3Credentials } from './lib/types';
|
|
6
6
|
export default class GoTrueClient {
|
|
7
7
|
private static nextInstanceID;
|
|
8
8
|
private instanceID;
|
|
@@ -312,9 +312,28 @@ export default class GoTrueClient {
|
|
|
312
312
|
}>;
|
|
313
313
|
/**
|
|
314
314
|
* Receive a notification every time an auth event happens.
|
|
315
|
+
* Safe to use without an async function as callback.
|
|
316
|
+
*
|
|
317
|
+
* @param callback A callback function to be invoked when an auth event happens.
|
|
318
|
+
*/
|
|
319
|
+
onAuthStateChange(callback: (event: AuthChangeEvent, session: Session | null) => void): {
|
|
320
|
+
data: {
|
|
321
|
+
subscription: Subscription;
|
|
322
|
+
};
|
|
323
|
+
};
|
|
324
|
+
/**
|
|
325
|
+
* Avoid using an async function inside `onAuthStateChange` as you might end
|
|
326
|
+
* up with a deadlock. The callback function runs inside an exclusive lock,
|
|
327
|
+
* so calling other Supabase Client APIs that also try to acquire the
|
|
328
|
+
* exclusive lock, might cause a deadlock. This behavior is observable across
|
|
329
|
+
* tabs. In the next major library version, this behavior will not be supported.
|
|
330
|
+
*
|
|
331
|
+
* Receive a notification every time an auth event happens.
|
|
332
|
+
*
|
|
315
333
|
* @param callback A callback function to be invoked when an auth event happens.
|
|
334
|
+
* @deprecated Due to the possibility of deadlocks with async functions as callbacks, use the version without an async function.
|
|
316
335
|
*/
|
|
317
|
-
onAuthStateChange(callback: (event: AuthChangeEvent, session: Session | null) =>
|
|
336
|
+
onAuthStateChange(callback: (event: AuthChangeEvent, session: Session | null) => Promise<void>): {
|
|
318
337
|
data: {
|
|
319
338
|
subscription: Subscription;
|
|
320
339
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoTrueClient.d.ts","sourceRoot":"","sources":["../../src/GoTrueClient.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAU7C,OAAO,EACL,SAAS,EAaV,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,KAAK,EAMN,MAAM,aAAa,CAAA;AACpB,OAAO,
|
|
1
|
+
{"version":3,"file":"GoTrueClient.d.ts","sourceRoot":"","sources":["../../src/GoTrueClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,12 @@ const errors_1 = require("./lib/errors");
|
|
|
9
9
|
const fetch_1 = require("./lib/fetch");
|
|
10
10
|
const helpers_1 = require("./lib/helpers");
|
|
11
11
|
const local_storage_1 = require("./lib/local-storage");
|
|
12
|
+
const locks_1 = require("./lib/locks");
|
|
12
13
|
const polyfills_1 = require("./lib/polyfills");
|
|
13
14
|
const version_1 = require("./lib/version");
|
|
14
|
-
const locks_1 = require("./lib/locks");
|
|
15
15
|
const base64url_1 = require("./lib/base64url");
|
|
16
16
|
const ethereum_1 = require("./lib/web3/ethereum");
|
|
17
|
+
const webauthn_1 = require("./lib/webauthn");
|
|
17
18
|
(0, polyfills_1.polyfillGlobalThis)(); // Make "globalThis" available
|
|
18
19
|
const DEFAULT_OPTIONS = {
|
|
19
20
|
url: constants_1.GOTRUE_URL,
|
|
@@ -39,6 +40,23 @@ async function lockNoOp(name, acquireTimeout, fn) {
|
|
|
39
40
|
*/
|
|
40
41
|
const GLOBAL_JWKS = {};
|
|
41
42
|
class GoTrueClient {
|
|
43
|
+
/**
|
|
44
|
+
* The JWKS used for verifying asymmetric JWTs
|
|
45
|
+
*/
|
|
46
|
+
get jwks() {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.jwks) !== null && _b !== void 0 ? _b : { keys: [] };
|
|
49
|
+
}
|
|
50
|
+
set jwks(value) {
|
|
51
|
+
GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { jwks: value });
|
|
52
|
+
}
|
|
53
|
+
get jwks_cached_at() {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.cachedAt) !== null && _b !== void 0 ? _b : Number.MIN_SAFE_INTEGER;
|
|
56
|
+
}
|
|
57
|
+
set jwks_cached_at(value) {
|
|
58
|
+
GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { cachedAt: value });
|
|
59
|
+
}
|
|
42
60
|
/**
|
|
43
61
|
* Create a new client for use in the browser.
|
|
44
62
|
*/
|
|
@@ -116,6 +134,7 @@ class GoTrueClient {
|
|
|
116
134
|
listFactors: this._listFactors.bind(this),
|
|
117
135
|
challengeAndVerify: this._challengeAndVerify.bind(this),
|
|
118
136
|
getAuthenticatorAssuranceLevel: this._getAuthenticatorAssuranceLevel.bind(this),
|
|
137
|
+
webauthn: new webauthn_1.WebAuthnApi(this),
|
|
119
138
|
};
|
|
120
139
|
if (this.persistSession) {
|
|
121
140
|
if (settings.storage) {
|
|
@@ -152,23 +171,6 @@ class GoTrueClient {
|
|
|
152
171
|
}
|
|
153
172
|
this.initialize();
|
|
154
173
|
}
|
|
155
|
-
/**
|
|
156
|
-
* The JWKS used for verifying asymmetric JWTs
|
|
157
|
-
*/
|
|
158
|
-
get jwks() {
|
|
159
|
-
var _a, _b;
|
|
160
|
-
return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.jwks) !== null && _b !== void 0 ? _b : { keys: [] };
|
|
161
|
-
}
|
|
162
|
-
set jwks(value) {
|
|
163
|
-
GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { jwks: value });
|
|
164
|
-
}
|
|
165
|
-
get jwks_cached_at() {
|
|
166
|
-
var _a, _b;
|
|
167
|
-
return (_b = (_a = GLOBAL_JWKS[this.storageKey]) === null || _a === void 0 ? void 0 : _a.cachedAt) !== null && _b !== void 0 ? _b : Number.MIN_SAFE_INTEGER;
|
|
168
|
-
}
|
|
169
|
-
set jwks_cached_at(value) {
|
|
170
|
-
GLOBAL_JWKS[this.storageKey] = Object.assign(Object.assign({}, GLOBAL_JWKS[this.storageKey]), { cachedAt: value });
|
|
171
|
-
}
|
|
172
174
|
_debug(...args) {
|
|
173
175
|
if (this.logDebugMessages) {
|
|
174
176
|
this.logger(`GoTrueClient@${this.instanceID} (${version_1.version}) ${new Date().toISOString()}`, ...args);
|
|
@@ -1519,10 +1521,6 @@ class GoTrueClient {
|
|
|
1519
1521
|
return { error: null };
|
|
1520
1522
|
});
|
|
1521
1523
|
}
|
|
1522
|
-
/**
|
|
1523
|
-
* Receive a notification every time an auth event happens.
|
|
1524
|
-
* @param callback A callback function to be invoked when an auth event happens.
|
|
1525
|
-
*/
|
|
1526
1524
|
onAuthStateChange(callback) {
|
|
1527
1525
|
const id = (0, helpers_1.uuid)();
|
|
1528
1526
|
const subscription = {
|
|
@@ -2259,16 +2257,20 @@ class GoTrueClient {
|
|
|
2259
2257
|
if (sessionError) {
|
|
2260
2258
|
return { data: null, error: sessionError };
|
|
2261
2259
|
}
|
|
2262
|
-
const body = Object.assign({ friendly_name: params.friendlyName, factor_type: params.factorType }, (params.factorType === 'phone'
|
|
2263
|
-
|
|
2260
|
+
const body = Object.assign({ friendly_name: params.friendlyName, factor_type: params.factorType }, (params.factorType === 'phone'
|
|
2261
|
+
? { phone: params.phone }
|
|
2262
|
+
: params.factorType === 'totp'
|
|
2263
|
+
? { issuer: params.issuer }
|
|
2264
|
+
: {}));
|
|
2265
|
+
const { data, error } = (await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors`, {
|
|
2264
2266
|
body,
|
|
2265
2267
|
headers: this.headers,
|
|
2266
2268
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2267
|
-
});
|
|
2269
|
+
}));
|
|
2268
2270
|
if (error) {
|
|
2269
2271
|
return { data: null, error };
|
|
2270
2272
|
}
|
|
2271
|
-
if (params.factorType === 'totp' && ((_b = data === null || data === void 0 ? void 0 : data.totp) === null || _b === void 0 ? void 0 : _b.qr_code)) {
|
|
2273
|
+
if (params.factorType === 'totp' && data.type === 'totp' && ((_b = data === null || data === void 0 ? void 0 : data.totp) === null || _b === void 0 ? void 0 : _b.qr_code)) {
|
|
2272
2274
|
data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`;
|
|
2273
2275
|
}
|
|
2274
2276
|
return { data, error: null };
|
|
@@ -2281,9 +2283,6 @@ class GoTrueClient {
|
|
|
2281
2283
|
throw error;
|
|
2282
2284
|
}
|
|
2283
2285
|
}
|
|
2284
|
-
/**
|
|
2285
|
-
* {@see GoTrueMFAApi#verify}
|
|
2286
|
-
*/
|
|
2287
2286
|
async _verify(params) {
|
|
2288
2287
|
return this._acquireLock(-1, async () => {
|
|
2289
2288
|
try {
|
|
@@ -2293,8 +2292,15 @@ class GoTrueClient {
|
|
|
2293
2292
|
if (sessionError) {
|
|
2294
2293
|
return { data: null, error: sessionError };
|
|
2295
2294
|
}
|
|
2295
|
+
const body = Object.assign({ challenge_id: params.challengeId }, ('webauthn' in params
|
|
2296
|
+
? {
|
|
2297
|
+
webauthn: Object.assign(Object.assign({}, params.webauthn), { credential_response: params.webauthn.type === 'create'
|
|
2298
|
+
? (0, webauthn_1.serializeCredentialCreationResponse)(params.webauthn.credential_response)
|
|
2299
|
+
: (0, webauthn_1.serializeCredentialRequestResponse)(params.webauthn.credential_response) }),
|
|
2300
|
+
}
|
|
2301
|
+
: { code: params.code }));
|
|
2296
2302
|
const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/verify`, {
|
|
2297
|
-
body
|
|
2303
|
+
body,
|
|
2298
2304
|
headers: this.headers,
|
|
2299
2305
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2300
2306
|
});
|
|
@@ -2314,9 +2320,6 @@ class GoTrueClient {
|
|
|
2314
2320
|
}
|
|
2315
2321
|
});
|
|
2316
2322
|
}
|
|
2317
|
-
/**
|
|
2318
|
-
* {@see GoTrueMFAApi#challenge}
|
|
2319
|
-
*/
|
|
2320
2323
|
async _challenge(params) {
|
|
2321
2324
|
return this._acquireLock(-1, async () => {
|
|
2322
2325
|
try {
|
|
@@ -2326,11 +2329,30 @@ class GoTrueClient {
|
|
|
2326
2329
|
if (sessionError) {
|
|
2327
2330
|
return { data: null, error: sessionError };
|
|
2328
2331
|
}
|
|
2329
|
-
|
|
2330
|
-
body:
|
|
2332
|
+
const response = (await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/challenge`, {
|
|
2333
|
+
body: params,
|
|
2331
2334
|
headers: this.headers,
|
|
2332
2335
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2333
|
-
});
|
|
2336
|
+
}));
|
|
2337
|
+
if (response.error) {
|
|
2338
|
+
return response;
|
|
2339
|
+
}
|
|
2340
|
+
const { data } = response;
|
|
2341
|
+
if (data.type !== 'webauthn') {
|
|
2342
|
+
return { data, error: null };
|
|
2343
|
+
}
|
|
2344
|
+
switch (data.webauthn.type) {
|
|
2345
|
+
case 'create':
|
|
2346
|
+
return {
|
|
2347
|
+
data: Object.assign(Object.assign({}, data), { webauthn: Object.assign(Object.assign({}, data.webauthn), { credential_options: Object.assign(Object.assign({}, data.webauthn.credential_options), { publicKey: (0, webauthn_1.deserializeCredentialCreationOptions)(data.webauthn.credential_options.publicKey) }) }) }),
|
|
2348
|
+
error: null,
|
|
2349
|
+
};
|
|
2350
|
+
case 'request':
|
|
2351
|
+
return {
|
|
2352
|
+
data: Object.assign(Object.assign({}, data), { webauthn: Object.assign(Object.assign({}, data.webauthn), { credential_options: Object.assign(Object.assign({}, data.webauthn.credential_options), { publicKey: (0, webauthn_1.deserializeCredentialRequestOptions)(data.webauthn.credential_options.publicKey) }) }) }),
|
|
2353
|
+
error: null,
|
|
2354
|
+
};
|
|
2355
|
+
}
|
|
2334
2356
|
});
|
|
2335
2357
|
}
|
|
2336
2358
|
catch (error) {
|
|
@@ -2373,7 +2395,9 @@ class GoTrueClient {
|
|
|
2373
2395
|
all: [],
|
|
2374
2396
|
phone: [],
|
|
2375
2397
|
totp: [],
|
|
2398
|
+
webauthn: [],
|
|
2376
2399
|
};
|
|
2400
|
+
// loop over the factors ONCE
|
|
2377
2401
|
for (const factor of (_a = user === null || user === void 0 ? void 0 : user.factors) !== null && _a !== void 0 ? _a : []) {
|
|
2378
2402
|
data.all.push(factor);
|
|
2379
2403
|
if (factor.status === 'verified') {
|
|
@@ -2531,6 +2555,6 @@ class GoTrueClient {
|
|
|
2531
2555
|
}
|
|
2532
2556
|
}
|
|
2533
2557
|
}
|
|
2534
|
-
exports.default = GoTrueClient;
|
|
2535
2558
|
GoTrueClient.nextInstanceID = 0;
|
|
2559
|
+
exports.default = GoTrueClient;
|
|
2536
2560
|
//# sourceMappingURL=GoTrueClient.js.map
|