@supabase/auth-js 2.72.0 → 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 +373 -358
- 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 +373 -358
- 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 +466 -354
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webauthn.js","sourceRoot":"","sources":["../../../src/lib/webauthn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@supabase/auth-js",
|
|
3
|
-
"version": "2.72.0",
|
|
3
|
+
"version": "2.72.1-canary.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Official client library for Supabase Auth",
|
|
6
6
|
"keywords": [
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"auth",
|
|
10
10
|
"authentication"
|
|
11
11
|
],
|
|
12
|
-
"homepage": "https://github.com/supabase/auth-js",
|
|
13
|
-
"bugs": "https://github.com/supabase/
|
|
12
|
+
"homepage": "https://github.com/supabase/js-client-libs/tree/main/packages/core/auth-js",
|
|
13
|
+
"bugs": "https://github.com/supabase/js-client-libs/issues",
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"author": "Supabase",
|
|
16
16
|
"files": [
|
|
@@ -20,16 +20,19 @@
|
|
|
20
20
|
"main": "dist/main/index.js",
|
|
21
21
|
"module": "dist/module/index.js",
|
|
22
22
|
"types": "dist/module/index.d.ts",
|
|
23
|
-
"repository":
|
|
23
|
+
"repository": {
|
|
24
|
+
"type": "git",
|
|
25
|
+
"url": "https://github.com/supabase/js-client-libs.git",
|
|
26
|
+
"directory": "packages/core/auth-js"
|
|
27
|
+
},
|
|
24
28
|
"scripts": {
|
|
25
29
|
"clean": "rimraf dist docs",
|
|
26
30
|
"coverage": "echo \"run npm test\"",
|
|
27
|
-
"
|
|
28
|
-
"build": "
|
|
31
|
+
"build:node18": "npm run clean && npm run build:main && npm run build:module",
|
|
32
|
+
"build": "npm run clean && npx nx build:main auth-js && npx nx build:module auth-js",
|
|
29
33
|
"build:main": "tsc -p tsconfig.json",
|
|
30
34
|
"build:module": "tsc -p tsconfig.module.json",
|
|
31
|
-
"
|
|
32
|
-
"test": "run-s test:clean test:infra test:suite test:clean",
|
|
35
|
+
"test:auth": "npm run test:clean && npm run test:infra && npm run test:suite && npm run test:clean",
|
|
33
36
|
"test:suite": "npm --prefix ./test run test",
|
|
34
37
|
"test:infra": "cd infra && docker compose down && docker compose pull && docker compose up -d && sleep 30",
|
|
35
38
|
"test:clean": "cd infra && docker compose down",
|
|
@@ -37,33 +40,10 @@
|
|
|
37
40
|
"docs:json": "typedoc --json docs/v2/spec.json --excludeExternals --excludePrivate --excludeProtected src/index.ts"
|
|
38
41
|
},
|
|
39
42
|
"dependencies": {
|
|
40
|
-
"@supabase/node-fetch": "
|
|
43
|
+
"@supabase/node-fetch": "2.6.15"
|
|
41
44
|
},
|
|
42
45
|
"devDependencies": {
|
|
43
|
-
"@types/faker": "^5.1.6",
|
|
44
|
-
"@types/jest": "^28.1.6",
|
|
45
|
-
"@types/jsonwebtoken": "^8.5.6",
|
|
46
|
-
"@types/node": "^18.16.19",
|
|
47
|
-
"@types/node-fetch": "^2.6.4",
|
|
48
|
-
"@typescript-eslint/eslint-plugin": "^5.30.7",
|
|
49
|
-
"@typescript-eslint/parser": "^5.30.7",
|
|
50
|
-
"eslint": "^8.20.0",
|
|
51
|
-
"eslint-config-prettier": "^8.5.0",
|
|
52
|
-
"eslint-config-standard": "^17.0.0",
|
|
53
|
-
"eslint-plugin-import": "^2.26.0",
|
|
54
|
-
"eslint-plugin-node": "^11.1.0",
|
|
55
|
-
"eslint-plugin-promise": "^6.0.0",
|
|
56
|
-
"faker": "^5.3.1",
|
|
57
|
-
"genversion": "^3.1.1",
|
|
58
46
|
"jest": "^28.1.3",
|
|
59
|
-
"jest
|
|
60
|
-
"jsonwebtoken": "^9.0.0",
|
|
61
|
-
"npm-run-all": "^4.1.5",
|
|
62
|
-
"prettier": "2.7.1",
|
|
63
|
-
"rimraf": "^3.0.2",
|
|
64
|
-
"semantic-release-plugin-update-version-in-files": "^1.1.0",
|
|
65
|
-
"ts-jest": "^28.0.7",
|
|
66
|
-
"typedoc": "^0.23.28",
|
|
67
|
-
"typescript": "^4.7.4"
|
|
47
|
+
"ts-jest": "^28.0.7"
|
|
68
48
|
}
|
|
69
49
|
}
|
package/src/GoTrueClient.ts
CHANGED
|
@@ -1,128 +1,155 @@
|
|
|
1
1
|
import GoTrueAdminApi from './GoTrueAdminApi'
|
|
2
2
|
import {
|
|
3
|
-
DEFAULT_HEADERS,
|
|
4
|
-
EXPIRY_MARGIN_MS,
|
|
5
3
|
AUTO_REFRESH_TICK_DURATION_MS,
|
|
6
4
|
AUTO_REFRESH_TICK_THRESHOLD,
|
|
5
|
+
DEFAULT_HEADERS,
|
|
6
|
+
EXPIRY_MARGIN_MS,
|
|
7
7
|
GOTRUE_URL,
|
|
8
|
-
STORAGE_KEY,
|
|
9
8
|
JWKS_TTL,
|
|
9
|
+
STORAGE_KEY,
|
|
10
10
|
} from './lib/constants'
|
|
11
11
|
import {
|
|
12
12
|
AuthError,
|
|
13
13
|
AuthImplicitGrantRedirectError,
|
|
14
|
-
AuthPKCEGrantCodeExchangeError,
|
|
15
14
|
AuthInvalidCredentialsError,
|
|
16
|
-
|
|
15
|
+
AuthInvalidJwtError,
|
|
17
16
|
AuthInvalidTokenResponseError,
|
|
17
|
+
AuthPKCEGrantCodeExchangeError,
|
|
18
|
+
AuthSessionMissingError,
|
|
18
19
|
AuthUnknownError,
|
|
19
20
|
isAuthApiError,
|
|
20
21
|
isAuthError,
|
|
22
|
+
isAuthImplicitGrantRedirectError,
|
|
21
23
|
isAuthRetryableFetchError,
|
|
22
24
|
isAuthSessionMissingError,
|
|
23
|
-
isAuthImplicitGrantRedirectError,
|
|
24
|
-
AuthInvalidJwtError,
|
|
25
25
|
} from './lib/errors'
|
|
26
26
|
import {
|
|
27
27
|
Fetch,
|
|
28
28
|
_request,
|
|
29
29
|
_sessionResponse,
|
|
30
30
|
_sessionResponsePassword,
|
|
31
|
-
_userResponse,
|
|
32
31
|
_ssoResponse,
|
|
32
|
+
_userResponse,
|
|
33
33
|
} from './lib/fetch'
|
|
34
34
|
import {
|
|
35
|
+
decodeJWT,
|
|
35
36
|
deepClone,
|
|
36
37
|
Deferred,
|
|
38
|
+
getAlgorithm,
|
|
39
|
+
getCodeChallengeAndMethod,
|
|
37
40
|
getItemAsync,
|
|
38
41
|
isBrowser,
|
|
42
|
+
parseParametersFromURL,
|
|
39
43
|
removeItemAsync,
|
|
40
44
|
resolveFetch,
|
|
41
|
-
setItemAsync,
|
|
42
|
-
uuid,
|
|
43
45
|
retryable,
|
|
46
|
+
setItemAsync,
|
|
44
47
|
sleep,
|
|
45
|
-
parseParametersFromURL,
|
|
46
|
-
getCodeChallengeAndMethod,
|
|
47
|
-
getAlgorithm,
|
|
48
|
-
validateExp,
|
|
49
|
-
decodeJWT,
|
|
50
|
-
userNotAvailableProxy,
|
|
51
48
|
supportsLocalStorage,
|
|
49
|
+
userNotAvailableProxy,
|
|
50
|
+
uuid,
|
|
51
|
+
validateExp,
|
|
52
52
|
} from './lib/helpers'
|
|
53
53
|
import { memoryLocalStorageAdapter } from './lib/local-storage'
|
|
54
|
+
import { LockAcquireTimeoutError, navigatorLock } from './lib/locks'
|
|
54
55
|
import { polyfillGlobalThis } from './lib/polyfills'
|
|
55
56
|
import { version } from './lib/version'
|
|
56
|
-
import { LockAcquireTimeoutError, navigatorLock } from './lib/locks'
|
|
57
57
|
|
|
58
|
+
import { bytesToBase64URL, stringToUint8Array } from './lib/base64url'
|
|
58
59
|
import type {
|
|
59
60
|
AuthChangeEvent,
|
|
61
|
+
AuthenticatorAssuranceLevels,
|
|
62
|
+
AuthFlowType,
|
|
63
|
+
AuthMFAChallengePhoneResponse,
|
|
64
|
+
AuthMFAChallengeResponse,
|
|
65
|
+
AuthMFAChallengeTOTPResponse,
|
|
66
|
+
AuthMFAChallengeWebauthnResponse,
|
|
67
|
+
AuthMFAChallengeWebauthnServerResponse,
|
|
68
|
+
AuthMFAEnrollPhoneResponse,
|
|
69
|
+
AuthMFAEnrollResponse,
|
|
70
|
+
AuthMFAEnrollTOTPResponse,
|
|
71
|
+
AuthMFAEnrollWebauthnResponse,
|
|
72
|
+
AuthMFAGetAuthenticatorAssuranceLevelResponse,
|
|
73
|
+
AuthMFAListFactorsResponse,
|
|
74
|
+
AuthMFAUnenrollResponse,
|
|
75
|
+
AuthMFAVerifyResponse,
|
|
76
|
+
AuthOtpResponse,
|
|
60
77
|
AuthResponse,
|
|
61
78
|
AuthResponsePassword,
|
|
62
79
|
AuthTokenResponse,
|
|
63
80
|
AuthTokenResponsePassword,
|
|
64
|
-
AuthOtpResponse,
|
|
65
81
|
CallRefreshTokenResult,
|
|
82
|
+
EthereumWallet,
|
|
83
|
+
EthereumWeb3Credentials,
|
|
84
|
+
Factor,
|
|
66
85
|
GoTrueClientOptions,
|
|
86
|
+
GoTrueMFAApi,
|
|
67
87
|
InitializeResult,
|
|
88
|
+
JWK,
|
|
89
|
+
JwtHeader,
|
|
90
|
+
JwtPayload,
|
|
91
|
+
LockFunc,
|
|
92
|
+
MFAChallengeAndVerifyParams,
|
|
93
|
+
MFAChallengeParams,
|
|
94
|
+
MFAChallengePhoneParams,
|
|
95
|
+
MFAChallengeTOTPParams,
|
|
96
|
+
MFAChallengeWebauthnParams,
|
|
97
|
+
MFAEnrollParams,
|
|
98
|
+
MFAEnrollPhoneParams,
|
|
99
|
+
MFAEnrollTOTPParams,
|
|
100
|
+
MFAEnrollWebauthnParams,
|
|
101
|
+
MFAUnenrollParams,
|
|
102
|
+
MFAVerifyParams,
|
|
103
|
+
MFAVerifyPhoneParams,
|
|
104
|
+
MFAVerifyTOTPParams,
|
|
105
|
+
MFAVerifyWebauthnParamFields,
|
|
106
|
+
MFAVerifyWebauthnParams,
|
|
68
107
|
OAuthResponse,
|
|
69
|
-
|
|
108
|
+
Prettify,
|
|
70
109
|
Provider,
|
|
110
|
+
ResendParams,
|
|
71
111
|
Session,
|
|
112
|
+
SignInAnonymouslyCredentials,
|
|
72
113
|
SignInWithIdTokenCredentials,
|
|
73
114
|
SignInWithOAuthCredentials,
|
|
74
115
|
SignInWithPasswordCredentials,
|
|
75
116
|
SignInWithPasswordlessCredentials,
|
|
76
|
-
SignUpWithPasswordCredentials,
|
|
77
117
|
SignInWithSSO,
|
|
78
118
|
SignOut,
|
|
119
|
+
SignUpWithPasswordCredentials,
|
|
120
|
+
SolanaWallet,
|
|
121
|
+
SolanaWeb3Credentials,
|
|
122
|
+
SSOResponse,
|
|
123
|
+
StrictOmit,
|
|
79
124
|
Subscription,
|
|
80
125
|
SupportedStorage,
|
|
81
126
|
User,
|
|
82
127
|
UserAttributes,
|
|
128
|
+
UserIdentity,
|
|
83
129
|
UserResponse,
|
|
84
130
|
VerifyOtpParams,
|
|
85
|
-
GoTrueMFAApi,
|
|
86
|
-
MFAEnrollParams,
|
|
87
|
-
AuthMFAEnrollResponse,
|
|
88
|
-
MFAChallengeParams,
|
|
89
|
-
AuthMFAChallengeResponse,
|
|
90
|
-
MFAUnenrollParams,
|
|
91
|
-
AuthMFAUnenrollResponse,
|
|
92
|
-
MFAVerifyParams,
|
|
93
|
-
AuthMFAVerifyResponse,
|
|
94
|
-
AuthMFAListFactorsResponse,
|
|
95
|
-
AuthMFAGetAuthenticatorAssuranceLevelResponse,
|
|
96
|
-
AuthenticatorAssuranceLevels,
|
|
97
|
-
Factor,
|
|
98
|
-
MFAChallengeAndVerifyParams,
|
|
99
|
-
ResendParams,
|
|
100
|
-
AuthFlowType,
|
|
101
|
-
LockFunc,
|
|
102
|
-
UserIdentity,
|
|
103
|
-
SignInAnonymouslyCredentials,
|
|
104
|
-
MFAEnrollTOTPParams,
|
|
105
|
-
MFAEnrollPhoneParams,
|
|
106
|
-
AuthMFAEnrollTOTPResponse,
|
|
107
|
-
AuthMFAEnrollPhoneResponse,
|
|
108
|
-
JWK,
|
|
109
|
-
JwtPayload,
|
|
110
|
-
JwtHeader,
|
|
111
|
-
SolanaWeb3Credentials,
|
|
112
|
-
SolanaWallet,
|
|
113
131
|
Web3Credentials,
|
|
114
|
-
EthereumWeb3Credentials,
|
|
115
|
-
EthereumWallet,
|
|
116
132
|
} from './lib/types'
|
|
117
|
-
import { stringToUint8Array, bytesToBase64URL } from './lib/base64url'
|
|
118
133
|
import {
|
|
134
|
+
createSiweMessage,
|
|
119
135
|
fromHex,
|
|
120
136
|
getAddress,
|
|
121
137
|
Hex,
|
|
122
|
-
toHex,
|
|
123
|
-
createSiweMessage,
|
|
124
138
|
SiweMessage,
|
|
139
|
+
toHex,
|
|
125
140
|
} from './lib/web3/ethereum'
|
|
141
|
+
import {
|
|
142
|
+
deserializeCredentialCreationOptions,
|
|
143
|
+
deserializeCredentialRequestOptions,
|
|
144
|
+
serializeCredentialCreationResponse,
|
|
145
|
+
serializeCredentialRequestResponse,
|
|
146
|
+
WebAuthnApi,
|
|
147
|
+
} from './lib/webauthn'
|
|
148
|
+
import {
|
|
149
|
+
AuthenticationCredential,
|
|
150
|
+
PublicKeyCredentialJSON,
|
|
151
|
+
RegistrationCredential,
|
|
152
|
+
} from './lib/webauthn.dom'
|
|
126
153
|
|
|
127
154
|
polyfillGlobalThis() // Make "globalThis" available
|
|
128
155
|
|
|
@@ -292,6 +319,7 @@ export default class GoTrueClient {
|
|
|
292
319
|
listFactors: this._listFactors.bind(this),
|
|
293
320
|
challengeAndVerify: this._challengeAndVerify.bind(this),
|
|
294
321
|
getAuthenticatorAssuranceLevel: this._getAuthenticatorAssuranceLevel.bind(this),
|
|
322
|
+
webauthn: new WebAuthnApi(this),
|
|
295
323
|
}
|
|
296
324
|
|
|
297
325
|
if (this.persistSession) {
|
|
@@ -1578,7 +1606,7 @@ export default class GoTrueClient {
|
|
|
1578
1606
|
return { data: { session: currentSession }, error: null }
|
|
1579
1607
|
}
|
|
1580
1608
|
|
|
1581
|
-
const { session, error } = await this._callRefreshToken(currentSession.refresh_token)
|
|
1609
|
+
const { data: session, error } = await this._callRefreshToken(currentSession.refresh_token)
|
|
1582
1610
|
if (error) {
|
|
1583
1611
|
return { data: { session: null }, error }
|
|
1584
1612
|
}
|
|
@@ -1757,7 +1785,7 @@ export default class GoTrueClient {
|
|
|
1757
1785
|
}
|
|
1758
1786
|
|
|
1759
1787
|
if (hasExpired) {
|
|
1760
|
-
const {
|
|
1788
|
+
const { data: refreshedSession, error } = await this._callRefreshToken(
|
|
1761
1789
|
currentSession.refresh_token
|
|
1762
1790
|
)
|
|
1763
1791
|
if (error) {
|
|
@@ -1827,7 +1855,7 @@ export default class GoTrueClient {
|
|
|
1827
1855
|
throw new AuthSessionMissingError()
|
|
1828
1856
|
}
|
|
1829
1857
|
|
|
1830
|
-
const { session, error } = await this._callRefreshToken(currentSession.refresh_token)
|
|
1858
|
+
const { data: session, error } = await this._callRefreshToken(currentSession.refresh_token)
|
|
1831
1859
|
if (error) {
|
|
1832
1860
|
return { data: { user: null, session: null }, error: error }
|
|
1833
1861
|
}
|
|
@@ -1963,7 +1991,7 @@ export default class GoTrueClient {
|
|
|
1963
1991
|
expires_in: expiresIn,
|
|
1964
1992
|
expires_at: expiresAt,
|
|
1965
1993
|
refresh_token,
|
|
1966
|
-
token_type,
|
|
1994
|
+
token_type: token_type as 'bearer',
|
|
1967
1995
|
user: data.user,
|
|
1968
1996
|
}
|
|
1969
1997
|
|
|
@@ -2174,11 +2202,27 @@ export default class GoTrueClient {
|
|
|
2174
2202
|
throw error
|
|
2175
2203
|
}
|
|
2176
2204
|
}
|
|
2205
|
+
|
|
2177
2206
|
/**
|
|
2178
2207
|
* Links an oauth identity to an existing user.
|
|
2179
2208
|
* This method supports the PKCE flow.
|
|
2180
2209
|
*/
|
|
2181
|
-
async linkIdentity(credentials: SignInWithOAuthCredentials): Promise<OAuthResponse>
|
|
2210
|
+
async linkIdentity(credentials: SignInWithOAuthCredentials): Promise<OAuthResponse>
|
|
2211
|
+
|
|
2212
|
+
/**
|
|
2213
|
+
* Links an OIDC identity to an existing user.
|
|
2214
|
+
*/
|
|
2215
|
+
async linkIdentity(credentials: SignInWithIdTokenCredentials): Promise<AuthTokenResponse>
|
|
2216
|
+
|
|
2217
|
+
async linkIdentity(credentials: any): Promise<any> {
|
|
2218
|
+
if ('token' in credentials) {
|
|
2219
|
+
return this.linkIdentityIdToken(credentials)
|
|
2220
|
+
}
|
|
2221
|
+
|
|
2222
|
+
return this.linkIdentityOAuth(credentials)
|
|
2223
|
+
}
|
|
2224
|
+
|
|
2225
|
+
private async linkIdentityOAuth(credentials: SignInWithOAuthCredentials): Promise<OAuthResponse> {
|
|
2182
2226
|
try {
|
|
2183
2227
|
const { data, error } = await this._useSession(async (result) => {
|
|
2184
2228
|
const { data, error } = result
|
|
@@ -2211,6 +2255,56 @@ export default class GoTrueClient {
|
|
|
2211
2255
|
}
|
|
2212
2256
|
}
|
|
2213
2257
|
|
|
2258
|
+
private async linkIdentityIdToken(
|
|
2259
|
+
credentials: SignInWithIdTokenCredentials
|
|
2260
|
+
): Promise<AuthTokenResponse> {
|
|
2261
|
+
return await this._useSession(async (result) => {
|
|
2262
|
+
try {
|
|
2263
|
+
const {
|
|
2264
|
+
error: sessionError,
|
|
2265
|
+
data: { session },
|
|
2266
|
+
} = result
|
|
2267
|
+
if (sessionError) throw sessionError
|
|
2268
|
+
|
|
2269
|
+
const { options, provider, token, access_token, nonce } = credentials
|
|
2270
|
+
|
|
2271
|
+
const res = await _request(this.fetch, 'POST', `${this.url}/token?grant_type=id_token`, {
|
|
2272
|
+
headers: this.headers,
|
|
2273
|
+
jwt: session?.access_token ?? undefined,
|
|
2274
|
+
body: {
|
|
2275
|
+
provider,
|
|
2276
|
+
id_token: token,
|
|
2277
|
+
access_token,
|
|
2278
|
+
nonce,
|
|
2279
|
+
link_identity: true,
|
|
2280
|
+
gotrue_meta_security: { captcha_token: options?.captchaToken },
|
|
2281
|
+
},
|
|
2282
|
+
xform: _sessionResponse,
|
|
2283
|
+
})
|
|
2284
|
+
|
|
2285
|
+
const { data, error } = res
|
|
2286
|
+
if (error) {
|
|
2287
|
+
return { data: { user: null, session: null }, error }
|
|
2288
|
+
} else if (!data || !data.session || !data.user) {
|
|
2289
|
+
return {
|
|
2290
|
+
data: { user: null, session: null },
|
|
2291
|
+
error: new AuthInvalidTokenResponseError(),
|
|
2292
|
+
}
|
|
2293
|
+
}
|
|
2294
|
+
if (data.session) {
|
|
2295
|
+
await this._saveSession(data.session)
|
|
2296
|
+
await this._notifyAllSubscribers('USER_UPDATED', data.session)
|
|
2297
|
+
}
|
|
2298
|
+
return { data, error }
|
|
2299
|
+
} catch (error) {
|
|
2300
|
+
if (isAuthError(error)) {
|
|
2301
|
+
return { data: { user: null, session: null }, error }
|
|
2302
|
+
}
|
|
2303
|
+
throw error
|
|
2304
|
+
}
|
|
2305
|
+
})
|
|
2306
|
+
}
|
|
2307
|
+
|
|
2214
2308
|
/**
|
|
2215
2309
|
* 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.
|
|
2216
2310
|
*/
|
|
@@ -2478,7 +2572,7 @@ export default class GoTrueClient {
|
|
|
2478
2572
|
await this._saveSession(data.session)
|
|
2479
2573
|
await this._notifyAllSubscribers('TOKEN_REFRESHED', data.session)
|
|
2480
2574
|
|
|
2481
|
-
const result = {
|
|
2575
|
+
const result = { data: data.session, error: null }
|
|
2482
2576
|
|
|
2483
2577
|
this.refreshingDeferred.resolve(result)
|
|
2484
2578
|
|
|
@@ -2487,7 +2581,7 @@ export default class GoTrueClient {
|
|
|
2487
2581
|
this._debug(debugName, 'error', error)
|
|
2488
2582
|
|
|
2489
2583
|
if (isAuthError(error)) {
|
|
2490
|
-
const result = {
|
|
2584
|
+
const result = { data: null, error }
|
|
2491
2585
|
|
|
2492
2586
|
if (!isAuthRetryableFetchError(error)) {
|
|
2493
2587
|
await this._removeSession()
|
|
@@ -2913,6 +3007,7 @@ export default class GoTrueClient {
|
|
|
2913
3007
|
*/
|
|
2914
3008
|
private async _enroll(params: MFAEnrollTOTPParams): Promise<AuthMFAEnrollTOTPResponse>
|
|
2915
3009
|
private async _enroll(params: MFAEnrollPhoneParams): Promise<AuthMFAEnrollPhoneResponse>
|
|
3010
|
+
private async _enroll(params: MFAEnrollWebauthnParams): Promise<AuthMFAEnrollWebauthnResponse>
|
|
2916
3011
|
private async _enroll(params: MFAEnrollParams): Promise<AuthMFAEnrollResponse> {
|
|
2917
3012
|
try {
|
|
2918
3013
|
return await this._useSession(async (result) => {
|
|
@@ -2924,20 +3019,23 @@ export default class GoTrueClient {
|
|
|
2924
3019
|
const body = {
|
|
2925
3020
|
friendly_name: params.friendlyName,
|
|
2926
3021
|
factor_type: params.factorType,
|
|
2927
|
-
...(params.factorType === 'phone'
|
|
3022
|
+
...(params.factorType === 'phone'
|
|
3023
|
+
? { phone: params.phone }
|
|
3024
|
+
: params.factorType === 'totp'
|
|
3025
|
+
? { issuer: params.issuer }
|
|
3026
|
+
: {}),
|
|
2928
3027
|
}
|
|
2929
3028
|
|
|
2930
|
-
const { data, error } = await _request(this.fetch, 'POST', `${this.url}/factors`, {
|
|
3029
|
+
const { data, error } = (await _request(this.fetch, 'POST', `${this.url}/factors`, {
|
|
2931
3030
|
body,
|
|
2932
3031
|
headers: this.headers,
|
|
2933
3032
|
jwt: sessionData?.session?.access_token,
|
|
2934
|
-
})
|
|
2935
|
-
|
|
3033
|
+
})) as AuthMFAEnrollResponse
|
|
2936
3034
|
if (error) {
|
|
2937
3035
|
return { data: null, error }
|
|
2938
3036
|
}
|
|
2939
3037
|
|
|
2940
|
-
if (params.factorType === 'totp' && data?.totp?.qr_code) {
|
|
3038
|
+
if (params.factorType === 'totp' && data.type === 'totp' && data?.totp?.qr_code) {
|
|
2941
3039
|
data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`
|
|
2942
3040
|
}
|
|
2943
3041
|
|
|
@@ -2954,6 +3052,11 @@ export default class GoTrueClient {
|
|
|
2954
3052
|
/**
|
|
2955
3053
|
* {@see GoTrueMFAApi#verify}
|
|
2956
3054
|
*/
|
|
3055
|
+
private async _verify(params: MFAVerifyTOTPParams): Promise<AuthMFAVerifyResponse>
|
|
3056
|
+
private async _verify(params: MFAVerifyPhoneParams): Promise<AuthMFAVerifyResponse>
|
|
3057
|
+
private async _verify<T extends 'create' | 'request'>(
|
|
3058
|
+
params: MFAVerifyWebauthnParams<T>
|
|
3059
|
+
): Promise<AuthMFAVerifyResponse>
|
|
2957
3060
|
private async _verify(params: MFAVerifyParams): Promise<AuthMFAVerifyResponse> {
|
|
2958
3061
|
return this._acquireLock(-1, async () => {
|
|
2959
3062
|
try {
|
|
@@ -2963,12 +3066,47 @@ export default class GoTrueClient {
|
|
|
2963
3066
|
return { data: null, error: sessionError }
|
|
2964
3067
|
}
|
|
2965
3068
|
|
|
3069
|
+
const body: StrictOmit<
|
|
3070
|
+
| Exclude<MFAVerifyParams, MFAVerifyWebauthnParams>
|
|
3071
|
+
/** Exclude out the webauthn params from here because we're going to need to serialize them in the response */
|
|
3072
|
+
| Prettify<
|
|
3073
|
+
StrictOmit<MFAVerifyWebauthnParams, 'webauthn'> & {
|
|
3074
|
+
webauthn: Prettify<
|
|
3075
|
+
StrictOmit<MFAVerifyWebauthnParamFields['webauthn'], 'credential_response'> & {
|
|
3076
|
+
credential_response: PublicKeyCredentialJSON
|
|
3077
|
+
}
|
|
3078
|
+
>
|
|
3079
|
+
}
|
|
3080
|
+
>,
|
|
3081
|
+
/* Exclude challengeId because the backend expects snake_case, and exclude factorId since it's passed in the path params */
|
|
3082
|
+
'challengeId' | 'factorId'
|
|
3083
|
+
> & {
|
|
3084
|
+
challenge_id: string
|
|
3085
|
+
} = {
|
|
3086
|
+
challenge_id: params.challengeId,
|
|
3087
|
+
...('webauthn' in params
|
|
3088
|
+
? {
|
|
3089
|
+
webauthn: {
|
|
3090
|
+
...params.webauthn,
|
|
3091
|
+
credential_response:
|
|
3092
|
+
params.webauthn.type === 'create'
|
|
3093
|
+
? serializeCredentialCreationResponse(
|
|
3094
|
+
params.webauthn.credential_response as RegistrationCredential
|
|
3095
|
+
)
|
|
3096
|
+
: serializeCredentialRequestResponse(
|
|
3097
|
+
params.webauthn.credential_response as AuthenticationCredential
|
|
3098
|
+
),
|
|
3099
|
+
},
|
|
3100
|
+
}
|
|
3101
|
+
: { code: params.code }),
|
|
3102
|
+
}
|
|
3103
|
+
|
|
2966
3104
|
const { data, error } = await _request(
|
|
2967
3105
|
this.fetch,
|
|
2968
3106
|
'POST',
|
|
2969
3107
|
`${this.url}/factors/${params.factorId}/verify`,
|
|
2970
3108
|
{
|
|
2971
|
-
body
|
|
3109
|
+
body,
|
|
2972
3110
|
headers: this.headers,
|
|
2973
3111
|
jwt: sessionData?.session?.access_token,
|
|
2974
3112
|
}
|
|
@@ -2997,6 +3135,15 @@ export default class GoTrueClient {
|
|
|
2997
3135
|
/**
|
|
2998
3136
|
* {@see GoTrueMFAApi#challenge}
|
|
2999
3137
|
*/
|
|
3138
|
+
private async _challenge(
|
|
3139
|
+
params: MFAChallengeTOTPParams
|
|
3140
|
+
): Promise<Prettify<AuthMFAChallengeTOTPResponse>>
|
|
3141
|
+
private async _challenge(
|
|
3142
|
+
params: MFAChallengePhoneParams
|
|
3143
|
+
): Promise<Prettify<AuthMFAChallengePhoneResponse>>
|
|
3144
|
+
private async _challenge(
|
|
3145
|
+
params: MFAChallengeWebauthnParams
|
|
3146
|
+
): Promise<Prettify<AuthMFAChallengeWebauthnResponse>>
|
|
3000
3147
|
private async _challenge(params: MFAChallengeParams): Promise<AuthMFAChallengeResponse> {
|
|
3001
3148
|
return this._acquireLock(-1, async () => {
|
|
3002
3149
|
try {
|
|
@@ -3006,16 +3153,64 @@ export default class GoTrueClient {
|
|
|
3006
3153
|
return { data: null, error: sessionError }
|
|
3007
3154
|
}
|
|
3008
3155
|
|
|
3009
|
-
|
|
3156
|
+
const response = (await _request(
|
|
3010
3157
|
this.fetch,
|
|
3011
3158
|
'POST',
|
|
3012
3159
|
`${this.url}/factors/${params.factorId}/challenge`,
|
|
3013
3160
|
{
|
|
3014
|
-
body:
|
|
3161
|
+
body: params,
|
|
3015
3162
|
headers: this.headers,
|
|
3016
3163
|
jwt: sessionData?.session?.access_token,
|
|
3017
3164
|
}
|
|
3018
|
-
)
|
|
3165
|
+
)) as
|
|
3166
|
+
| Exclude<AuthMFAChallengeResponse, AuthMFAChallengeWebauthnResponse>
|
|
3167
|
+
/** The server will send `serialized` data, so we assert the serialized response */
|
|
3168
|
+
| AuthMFAChallengeWebauthnServerResponse
|
|
3169
|
+
|
|
3170
|
+
if (response.error) {
|
|
3171
|
+
return response
|
|
3172
|
+
}
|
|
3173
|
+
|
|
3174
|
+
const { data } = response
|
|
3175
|
+
|
|
3176
|
+
if (data.type !== 'webauthn') {
|
|
3177
|
+
return { data, error: null }
|
|
3178
|
+
}
|
|
3179
|
+
|
|
3180
|
+
switch (data.webauthn.type) {
|
|
3181
|
+
case 'create':
|
|
3182
|
+
return {
|
|
3183
|
+
data: {
|
|
3184
|
+
...data,
|
|
3185
|
+
webauthn: {
|
|
3186
|
+
...data.webauthn,
|
|
3187
|
+
credential_options: {
|
|
3188
|
+
...data.webauthn.credential_options,
|
|
3189
|
+
publicKey: deserializeCredentialCreationOptions(
|
|
3190
|
+
data.webauthn.credential_options.publicKey
|
|
3191
|
+
),
|
|
3192
|
+
},
|
|
3193
|
+
},
|
|
3194
|
+
},
|
|
3195
|
+
error: null,
|
|
3196
|
+
}
|
|
3197
|
+
case 'request':
|
|
3198
|
+
return {
|
|
3199
|
+
data: {
|
|
3200
|
+
...data,
|
|
3201
|
+
webauthn: {
|
|
3202
|
+
...data.webauthn,
|
|
3203
|
+
credential_options: {
|
|
3204
|
+
...data.webauthn.credential_options,
|
|
3205
|
+
publicKey: deserializeCredentialRequestOptions(
|
|
3206
|
+
data.webauthn.credential_options.publicKey
|
|
3207
|
+
),
|
|
3208
|
+
},
|
|
3209
|
+
},
|
|
3210
|
+
},
|
|
3211
|
+
error: null,
|
|
3212
|
+
}
|
|
3213
|
+
}
|
|
3019
3214
|
})
|
|
3020
3215
|
} catch (error) {
|
|
3021
3216
|
if (isAuthError(error)) {
|
|
@@ -3062,20 +3257,23 @@ export default class GoTrueClient {
|
|
|
3062
3257
|
return { data: null, error: userError }
|
|
3063
3258
|
}
|
|
3064
3259
|
|
|
3065
|
-
const
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3260
|
+
const data: AuthMFAListFactorsResponse['data'] = {
|
|
3261
|
+
all: [],
|
|
3262
|
+
phone: [],
|
|
3263
|
+
totp: [],
|
|
3264
|
+
webauthn: [],
|
|
3265
|
+
}
|
|
3266
|
+
|
|
3267
|
+
// loop over the factors ONCE
|
|
3268
|
+
for (const factor of user?.factors ?? []) {
|
|
3269
|
+
data.all.push(factor)
|
|
3270
|
+
if (factor.status === 'verified') {
|
|
3271
|
+
;(data[factor.factor_type] as (typeof factor)[]).push(factor)
|
|
3272
|
+
}
|
|
3273
|
+
}
|
|
3072
3274
|
|
|
3073
3275
|
return {
|
|
3074
|
-
data
|
|
3075
|
-
all: factors,
|
|
3076
|
-
totp,
|
|
3077
|
-
phone,
|
|
3078
|
-
},
|
|
3276
|
+
data,
|
|
3079
3277
|
error: null,
|
|
3080
3278
|
}
|
|
3081
3279
|
}
|