@supabase/auth-js 2.72.0-rc.8 → 2.72.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 +95 -3
- package/dist/main/GoTrueAdminApi.js.map +1 -1
- package/dist/main/GoTrueClient.d.ts +7 -1
- package/dist/main/GoTrueClient.d.ts.map +1 -1
- package/dist/main/GoTrueClient.js +132 -51
- 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 +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 +376 -361
- package/dist/main/lib/types.d.ts.map +1 -1
- package/dist/main/lib/types.js +17 -0
- 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 +7 -1
- package/dist/module/GoTrueClient.d.ts.map +1 -1
- package/dist/module/GoTrueClient.js +139 -57
- 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 +1 -1
- package/dist/module/lib/errors.d.ts.map +1 -1
- package/dist/module/lib/errors.js.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 +376 -361
- package/dist/module/lib/types.d.ts.map +1 -1
- package/dist/module/lib/types.js +17 -0
- 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 -33
- package/src/GoTrueClient.ts +279 -81
- package/src/lib/base64url.ts +4 -2
- package/src/lib/errors.ts +1 -1
- package/src/lib/helpers.ts +2 -1
- package/src/lib/types.ts +469 -357
- 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
|
@@ -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/js-client-libs). 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 type { 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;
|
|
@@ -354,6 +354,12 @@ export default class GoTrueClient {
|
|
|
354
354
|
* This method supports the PKCE flow.
|
|
355
355
|
*/
|
|
356
356
|
linkIdentity(credentials: SignInWithOAuthCredentials): Promise<OAuthResponse>;
|
|
357
|
+
/**
|
|
358
|
+
* Links an OIDC identity to an existing user.
|
|
359
|
+
*/
|
|
360
|
+
linkIdentity(credentials: SignInWithIdTokenCredentials): Promise<AuthTokenResponse>;
|
|
361
|
+
private linkIdentityOAuth;
|
|
362
|
+
private linkIdentityIdToken;
|
|
357
363
|
/**
|
|
358
364
|
* Unlinks an identity from a user by deleting it. The user will no longer be able to sign in with that identity once it's unlinked.
|
|
359
365
|
*/
|
|
@@ -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);
|
|
@@ -1159,7 +1161,7 @@ class GoTrueClient {
|
|
|
1159
1161
|
}
|
|
1160
1162
|
return { data: { session: currentSession }, error: null };
|
|
1161
1163
|
}
|
|
1162
|
-
const { session, error } = await this._callRefreshToken(currentSession.refresh_token);
|
|
1164
|
+
const { data: session, error } = await this._callRefreshToken(currentSession.refresh_token);
|
|
1163
1165
|
if (error) {
|
|
1164
1166
|
return { data: { session: null }, error };
|
|
1165
1167
|
}
|
|
@@ -1299,7 +1301,7 @@ class GoTrueClient {
|
|
|
1299
1301
|
hasExpired = expiresAt <= timeNow;
|
|
1300
1302
|
}
|
|
1301
1303
|
if (hasExpired) {
|
|
1302
|
-
const {
|
|
1304
|
+
const { data: refreshedSession, error } = await this._callRefreshToken(currentSession.refresh_token);
|
|
1303
1305
|
if (error) {
|
|
1304
1306
|
return { data: { user: null, session: null }, error: error };
|
|
1305
1307
|
}
|
|
@@ -1359,7 +1361,7 @@ class GoTrueClient {
|
|
|
1359
1361
|
if (!(currentSession === null || currentSession === void 0 ? void 0 : currentSession.refresh_token)) {
|
|
1360
1362
|
throw new errors_1.AuthSessionMissingError();
|
|
1361
1363
|
}
|
|
1362
|
-
const { session, error } = await this._callRefreshToken(currentSession.refresh_token);
|
|
1364
|
+
const { data: session, error } = await this._callRefreshToken(currentSession.refresh_token);
|
|
1363
1365
|
if (error) {
|
|
1364
1366
|
return { data: { user: null, session: null }, error: error };
|
|
1365
1367
|
}
|
|
@@ -1451,7 +1453,7 @@ class GoTrueClient {
|
|
|
1451
1453
|
expires_in: expiresIn,
|
|
1452
1454
|
expires_at: expiresAt,
|
|
1453
1455
|
refresh_token,
|
|
1454
|
-
token_type,
|
|
1456
|
+
token_type: token_type,
|
|
1455
1457
|
user: data.user,
|
|
1456
1458
|
};
|
|
1457
1459
|
// Remove tokens from URL
|
|
@@ -1612,11 +1614,13 @@ class GoTrueClient {
|
|
|
1612
1614
|
throw error;
|
|
1613
1615
|
}
|
|
1614
1616
|
}
|
|
1615
|
-
/**
|
|
1616
|
-
* Links an oauth identity to an existing user.
|
|
1617
|
-
* This method supports the PKCE flow.
|
|
1618
|
-
*/
|
|
1619
1617
|
async linkIdentity(credentials) {
|
|
1618
|
+
if ('token' in credentials) {
|
|
1619
|
+
return this.linkIdentityIdToken(credentials);
|
|
1620
|
+
}
|
|
1621
|
+
return this.linkIdentityOAuth(credentials);
|
|
1622
|
+
}
|
|
1623
|
+
async linkIdentityOAuth(credentials) {
|
|
1620
1624
|
var _a;
|
|
1621
1625
|
try {
|
|
1622
1626
|
const { data, error } = await this._useSession(async (result) => {
|
|
@@ -1649,6 +1653,51 @@ class GoTrueClient {
|
|
|
1649
1653
|
throw error;
|
|
1650
1654
|
}
|
|
1651
1655
|
}
|
|
1656
|
+
async linkIdentityIdToken(credentials) {
|
|
1657
|
+
return await this._useSession(async (result) => {
|
|
1658
|
+
var _a;
|
|
1659
|
+
try {
|
|
1660
|
+
const { error: sessionError, data: { session }, } = result;
|
|
1661
|
+
if (sessionError)
|
|
1662
|
+
throw sessionError;
|
|
1663
|
+
const { options, provider, token, access_token, nonce } = credentials;
|
|
1664
|
+
const res = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/token?grant_type=id_token`, {
|
|
1665
|
+
headers: this.headers,
|
|
1666
|
+
jwt: (_a = session === null || session === void 0 ? void 0 : session.access_token) !== null && _a !== void 0 ? _a : undefined,
|
|
1667
|
+
body: {
|
|
1668
|
+
provider,
|
|
1669
|
+
id_token: token,
|
|
1670
|
+
access_token,
|
|
1671
|
+
nonce,
|
|
1672
|
+
link_identity: true,
|
|
1673
|
+
gotrue_meta_security: { captcha_token: options === null || options === void 0 ? void 0 : options.captchaToken },
|
|
1674
|
+
},
|
|
1675
|
+
xform: fetch_1._sessionResponse,
|
|
1676
|
+
});
|
|
1677
|
+
const { data, error } = res;
|
|
1678
|
+
if (error) {
|
|
1679
|
+
return { data: { user: null, session: null }, error };
|
|
1680
|
+
}
|
|
1681
|
+
else if (!data || !data.session || !data.user) {
|
|
1682
|
+
return {
|
|
1683
|
+
data: { user: null, session: null },
|
|
1684
|
+
error: new errors_1.AuthInvalidTokenResponseError(),
|
|
1685
|
+
};
|
|
1686
|
+
}
|
|
1687
|
+
if (data.session) {
|
|
1688
|
+
await this._saveSession(data.session);
|
|
1689
|
+
await this._notifyAllSubscribers('USER_UPDATED', data.session);
|
|
1690
|
+
}
|
|
1691
|
+
return { data, error };
|
|
1692
|
+
}
|
|
1693
|
+
catch (error) {
|
|
1694
|
+
if ((0, errors_1.isAuthError)(error)) {
|
|
1695
|
+
return { data: { user: null, session: null }, error };
|
|
1696
|
+
}
|
|
1697
|
+
throw error;
|
|
1698
|
+
}
|
|
1699
|
+
});
|
|
1700
|
+
}
|
|
1652
1701
|
/**
|
|
1653
1702
|
* Unlinks an identity from a user by deleting it. The user will no longer be able to sign in with that identity once it's unlinked.
|
|
1654
1703
|
*/
|
|
@@ -1848,14 +1897,14 @@ class GoTrueClient {
|
|
|
1848
1897
|
throw new errors_1.AuthSessionMissingError();
|
|
1849
1898
|
await this._saveSession(data.session);
|
|
1850
1899
|
await this._notifyAllSubscribers('TOKEN_REFRESHED', data.session);
|
|
1851
|
-
const result = {
|
|
1900
|
+
const result = { data: data.session, error: null };
|
|
1852
1901
|
this.refreshingDeferred.resolve(result);
|
|
1853
1902
|
return result;
|
|
1854
1903
|
}
|
|
1855
1904
|
catch (error) {
|
|
1856
1905
|
this._debug(debugName, 'error', error);
|
|
1857
1906
|
if ((0, errors_1.isAuthError)(error)) {
|
|
1858
|
-
const result = {
|
|
1907
|
+
const result = { data: null, error };
|
|
1859
1908
|
if (!(0, errors_1.isAuthRetryableFetchError)(error)) {
|
|
1860
1909
|
await this._removeSession();
|
|
1861
1910
|
}
|
|
@@ -2212,16 +2261,20 @@ class GoTrueClient {
|
|
|
2212
2261
|
if (sessionError) {
|
|
2213
2262
|
return { data: null, error: sessionError };
|
|
2214
2263
|
}
|
|
2215
|
-
const body = Object.assign({ friendly_name: params.friendlyName, factor_type: params.factorType }, (params.factorType === 'phone'
|
|
2216
|
-
|
|
2264
|
+
const body = Object.assign({ friendly_name: params.friendlyName, factor_type: params.factorType }, (params.factorType === 'phone'
|
|
2265
|
+
? { phone: params.phone }
|
|
2266
|
+
: params.factorType === 'totp'
|
|
2267
|
+
? { issuer: params.issuer }
|
|
2268
|
+
: {}));
|
|
2269
|
+
const { data, error } = (await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors`, {
|
|
2217
2270
|
body,
|
|
2218
2271
|
headers: this.headers,
|
|
2219
2272
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2220
|
-
});
|
|
2273
|
+
}));
|
|
2221
2274
|
if (error) {
|
|
2222
2275
|
return { data: null, error };
|
|
2223
2276
|
}
|
|
2224
|
-
if (params.factorType === 'totp' && ((_b = data === null || data === void 0 ? void 0 : data.totp) === null || _b === void 0 ? void 0 : _b.qr_code)) {
|
|
2277
|
+
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)) {
|
|
2225
2278
|
data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`;
|
|
2226
2279
|
}
|
|
2227
2280
|
return { data, error: null };
|
|
@@ -2234,9 +2287,6 @@ class GoTrueClient {
|
|
|
2234
2287
|
throw error;
|
|
2235
2288
|
}
|
|
2236
2289
|
}
|
|
2237
|
-
/**
|
|
2238
|
-
* {@see GoTrueMFAApi#verify}
|
|
2239
|
-
*/
|
|
2240
2290
|
async _verify(params) {
|
|
2241
2291
|
return this._acquireLock(-1, async () => {
|
|
2242
2292
|
try {
|
|
@@ -2246,8 +2296,15 @@ class GoTrueClient {
|
|
|
2246
2296
|
if (sessionError) {
|
|
2247
2297
|
return { data: null, error: sessionError };
|
|
2248
2298
|
}
|
|
2299
|
+
const body = Object.assign({ challenge_id: params.challengeId }, ('webauthn' in params
|
|
2300
|
+
? {
|
|
2301
|
+
webauthn: Object.assign(Object.assign({}, params.webauthn), { credential_response: params.webauthn.type === 'create'
|
|
2302
|
+
? (0, webauthn_1.serializeCredentialCreationResponse)(params.webauthn.credential_response)
|
|
2303
|
+
: (0, webauthn_1.serializeCredentialRequestResponse)(params.webauthn.credential_response) }),
|
|
2304
|
+
}
|
|
2305
|
+
: { code: params.code }));
|
|
2249
2306
|
const { data, error } = await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/verify`, {
|
|
2250
|
-
body
|
|
2307
|
+
body,
|
|
2251
2308
|
headers: this.headers,
|
|
2252
2309
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2253
2310
|
});
|
|
@@ -2267,9 +2324,6 @@ class GoTrueClient {
|
|
|
2267
2324
|
}
|
|
2268
2325
|
});
|
|
2269
2326
|
}
|
|
2270
|
-
/**
|
|
2271
|
-
* {@see GoTrueMFAApi#challenge}
|
|
2272
|
-
*/
|
|
2273
2327
|
async _challenge(params) {
|
|
2274
2328
|
return this._acquireLock(-1, async () => {
|
|
2275
2329
|
try {
|
|
@@ -2279,11 +2333,30 @@ class GoTrueClient {
|
|
|
2279
2333
|
if (sessionError) {
|
|
2280
2334
|
return { data: null, error: sessionError };
|
|
2281
2335
|
}
|
|
2282
|
-
|
|
2283
|
-
body:
|
|
2336
|
+
const response = (await (0, fetch_1._request)(this.fetch, 'POST', `${this.url}/factors/${params.factorId}/challenge`, {
|
|
2337
|
+
body: params,
|
|
2284
2338
|
headers: this.headers,
|
|
2285
2339
|
jwt: (_a = sessionData === null || sessionData === void 0 ? void 0 : sessionData.session) === null || _a === void 0 ? void 0 : _a.access_token,
|
|
2286
|
-
});
|
|
2340
|
+
}));
|
|
2341
|
+
if (response.error) {
|
|
2342
|
+
return response;
|
|
2343
|
+
}
|
|
2344
|
+
const { data } = response;
|
|
2345
|
+
if (data.type !== 'webauthn') {
|
|
2346
|
+
return { data, error: null };
|
|
2347
|
+
}
|
|
2348
|
+
switch (data.webauthn.type) {
|
|
2349
|
+
case 'create':
|
|
2350
|
+
return {
|
|
2351
|
+
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) }) }) }),
|
|
2352
|
+
error: null,
|
|
2353
|
+
};
|
|
2354
|
+
case 'request':
|
|
2355
|
+
return {
|
|
2356
|
+
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) }) }) }),
|
|
2357
|
+
error: null,
|
|
2358
|
+
};
|
|
2359
|
+
}
|
|
2287
2360
|
});
|
|
2288
2361
|
}
|
|
2289
2362
|
catch (error) {
|
|
@@ -2316,20 +2389,28 @@ class GoTrueClient {
|
|
|
2316
2389
|
* {@see GoTrueMFAApi#listFactors}
|
|
2317
2390
|
*/
|
|
2318
2391
|
async _listFactors() {
|
|
2392
|
+
var _a;
|
|
2319
2393
|
// use #getUser instead of #_getUser as the former acquires a lock
|
|
2320
2394
|
const { data: { user }, error: userError, } = await this.getUser();
|
|
2321
2395
|
if (userError) {
|
|
2322
2396
|
return { data: null, error: userError };
|
|
2323
2397
|
}
|
|
2324
|
-
const
|
|
2325
|
-
|
|
2326
|
-
|
|
2398
|
+
const data = {
|
|
2399
|
+
all: [],
|
|
2400
|
+
phone: [],
|
|
2401
|
+
totp: [],
|
|
2402
|
+
webauthn: [],
|
|
2403
|
+
};
|
|
2404
|
+
// loop over the factors ONCE
|
|
2405
|
+
for (const factor of (_a = user === null || user === void 0 ? void 0 : user.factors) !== null && _a !== void 0 ? _a : []) {
|
|
2406
|
+
data.all.push(factor);
|
|
2407
|
+
if (factor.status === 'verified') {
|
|
2408
|
+
;
|
|
2409
|
+
data[factor.factor_type].push(factor);
|
|
2410
|
+
}
|
|
2411
|
+
}
|
|
2327
2412
|
return {
|
|
2328
|
-
data
|
|
2329
|
-
all: factors,
|
|
2330
|
-
totp,
|
|
2331
|
-
phone,
|
|
2332
|
-
},
|
|
2413
|
+
data,
|
|
2333
2414
|
error: null,
|
|
2334
2415
|
};
|
|
2335
2416
|
}
|
|
@@ -2478,6 +2559,6 @@ class GoTrueClient {
|
|
|
2478
2559
|
}
|
|
2479
2560
|
}
|
|
2480
2561
|
}
|
|
2481
|
-
exports.default = GoTrueClient;
|
|
2482
2562
|
GoTrueClient.nextInstanceID = 0;
|
|
2563
|
+
exports.default = GoTrueClient;
|
|
2483
2564
|
//# sourceMappingURL=GoTrueClient.js.map
|