@supabase/auth-js 2.73.0-rc.3 → 2.73.0-rc.5
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/dist/main/GoTrueClient.d.ts +1 -1
- package/dist/main/GoTrueClient.d.ts.map +1 -1
- package/dist/main/GoTrueClient.js +43 -15
- 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.map +1 -1
- package/dist/main/lib/helpers.d.ts +2 -1
- package/dist/main/lib/helpers.d.ts.map +1 -1
- package/dist/main/lib/helpers.js.map +1 -1
- package/dist/main/lib/types.d.ts +140 -19
- 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.js +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/GoTrueClient.d.ts +1 -1
- package/dist/module/GoTrueClient.d.ts.map +1 -1
- package/dist/module/GoTrueClient.js +49 -21
- 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/helpers.d.ts +2 -1
- package/dist/module/lib/helpers.d.ts.map +1 -1
- package/dist/module/lib/helpers.js.map +1 -1
- package/dist/module/lib/types.d.ts +140 -19
- 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.js +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 +1 -1
- package/src/GoTrueClient.ts +198 -68
- package/src/lib/base64url.ts +4 -2
- package/src/lib/helpers.ts +2 -1
- package/src/lib/types.ts +205 -26
- package/src/lib/version.ts +1 -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
package/src/GoTrueClient.ts
CHANGED
|
@@ -1,130 +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 {
|
|
58
|
+
import { bytesToBase64URL, stringToUint8Array } from './lib/base64url'
|
|
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
|
-
FactorType,
|
|
117
|
-
FactorTypes,
|
|
118
132
|
} from './lib/types'
|
|
119
|
-
import { stringToUint8Array, bytesToBase64URL } from './lib/base64url'
|
|
120
133
|
import {
|
|
134
|
+
createSiweMessage,
|
|
121
135
|
fromHex,
|
|
122
136
|
getAddress,
|
|
123
137
|
Hex,
|
|
124
|
-
toHex,
|
|
125
|
-
createSiweMessage,
|
|
126
138
|
SiweMessage,
|
|
139
|
+
toHex,
|
|
127
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'
|
|
128
153
|
|
|
129
154
|
polyfillGlobalThis() // Make "globalThis" available
|
|
130
155
|
|
|
@@ -294,6 +319,7 @@ export default class GoTrueClient {
|
|
|
294
319
|
listFactors: this._listFactors.bind(this),
|
|
295
320
|
challengeAndVerify: this._challengeAndVerify.bind(this),
|
|
296
321
|
getAuthenticatorAssuranceLevel: this._getAuthenticatorAssuranceLevel.bind(this),
|
|
322
|
+
webauthn: new WebAuthnApi(this),
|
|
297
323
|
}
|
|
298
324
|
|
|
299
325
|
if (this.persistSession) {
|
|
@@ -2981,6 +3007,7 @@ export default class GoTrueClient {
|
|
|
2981
3007
|
*/
|
|
2982
3008
|
private async _enroll(params: MFAEnrollTOTPParams): Promise<AuthMFAEnrollTOTPResponse>
|
|
2983
3009
|
private async _enroll(params: MFAEnrollPhoneParams): Promise<AuthMFAEnrollPhoneResponse>
|
|
3010
|
+
private async _enroll(params: MFAEnrollWebauthnParams): Promise<AuthMFAEnrollWebauthnResponse>
|
|
2984
3011
|
private async _enroll(params: MFAEnrollParams): Promise<AuthMFAEnrollResponse> {
|
|
2985
3012
|
try {
|
|
2986
3013
|
return await this._useSession(async (result) => {
|
|
@@ -2992,20 +3019,23 @@ export default class GoTrueClient {
|
|
|
2992
3019
|
const body = {
|
|
2993
3020
|
friendly_name: params.friendlyName,
|
|
2994
3021
|
factor_type: params.factorType,
|
|
2995
|
-
...(params.factorType === 'phone'
|
|
3022
|
+
...(params.factorType === 'phone'
|
|
3023
|
+
? { phone: params.phone }
|
|
3024
|
+
: params.factorType === 'totp'
|
|
3025
|
+
? { issuer: params.issuer }
|
|
3026
|
+
: {}),
|
|
2996
3027
|
}
|
|
2997
3028
|
|
|
2998
|
-
const { data, error } = await _request(this.fetch, 'POST', `${this.url}/factors`, {
|
|
3029
|
+
const { data, error } = (await _request(this.fetch, 'POST', `${this.url}/factors`, {
|
|
2999
3030
|
body,
|
|
3000
3031
|
headers: this.headers,
|
|
3001
3032
|
jwt: sessionData?.session?.access_token,
|
|
3002
|
-
})
|
|
3003
|
-
|
|
3033
|
+
})) as AuthMFAEnrollResponse
|
|
3004
3034
|
if (error) {
|
|
3005
3035
|
return { data: null, error }
|
|
3006
3036
|
}
|
|
3007
3037
|
|
|
3008
|
-
if (params.factorType === 'totp' && data?.totp?.qr_code) {
|
|
3038
|
+
if (params.factorType === 'totp' && data.type === 'totp' && data?.totp?.qr_code) {
|
|
3009
3039
|
data.totp.qr_code = `data:image/svg+xml;utf-8,${data.totp.qr_code}`
|
|
3010
3040
|
}
|
|
3011
3041
|
|
|
@@ -3022,6 +3052,11 @@ export default class GoTrueClient {
|
|
|
3022
3052
|
/**
|
|
3023
3053
|
* {@see GoTrueMFAApi#verify}
|
|
3024
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>
|
|
3025
3060
|
private async _verify(params: MFAVerifyParams): Promise<AuthMFAVerifyResponse> {
|
|
3026
3061
|
return this._acquireLock(-1, async () => {
|
|
3027
3062
|
try {
|
|
@@ -3031,12 +3066,50 @@ export default class GoTrueClient {
|
|
|
3031
3066
|
return { data: null, error: sessionError }
|
|
3032
3067
|
}
|
|
3033
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<
|
|
3076
|
+
MFAVerifyWebauthnParamFields['webauthn'],
|
|
3077
|
+
'credential_response'
|
|
3078
|
+
> & {
|
|
3079
|
+
credential_response: PublicKeyCredentialJSON
|
|
3080
|
+
}
|
|
3081
|
+
>
|
|
3082
|
+
}
|
|
3083
|
+
>,
|
|
3084
|
+
/* Exclude challengeId because the backend expects snake_case, and exclude factorId since it's passed in the path params */
|
|
3085
|
+
'challengeId' | 'factorId'
|
|
3086
|
+
> & {
|
|
3087
|
+
challenge_id: string
|
|
3088
|
+
} = {
|
|
3089
|
+
challenge_id: params.challengeId,
|
|
3090
|
+
...('webauthn' in params
|
|
3091
|
+
? {
|
|
3092
|
+
webauthn: {
|
|
3093
|
+
...params.webauthn,
|
|
3094
|
+
credential_response:
|
|
3095
|
+
params.webauthn.type === 'create'
|
|
3096
|
+
? serializeCredentialCreationResponse(
|
|
3097
|
+
params.webauthn.credential_response as RegistrationCredential
|
|
3098
|
+
)
|
|
3099
|
+
: serializeCredentialRequestResponse(
|
|
3100
|
+
params.webauthn.credential_response as AuthenticationCredential
|
|
3101
|
+
),
|
|
3102
|
+
},
|
|
3103
|
+
}
|
|
3104
|
+
: { code: params.code }),
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3034
3107
|
const { data, error } = await _request(
|
|
3035
3108
|
this.fetch,
|
|
3036
3109
|
'POST',
|
|
3037
3110
|
`${this.url}/factors/${params.factorId}/verify`,
|
|
3038
3111
|
{
|
|
3039
|
-
body
|
|
3112
|
+
body,
|
|
3040
3113
|
headers: this.headers,
|
|
3041
3114
|
jwt: sessionData?.session?.access_token,
|
|
3042
3115
|
}
|
|
@@ -3065,9 +3138,16 @@ export default class GoTrueClient {
|
|
|
3065
3138
|
/**
|
|
3066
3139
|
* {@see GoTrueMFAApi#challenge}
|
|
3067
3140
|
*/
|
|
3068
|
-
private async _challenge
|
|
3069
|
-
params:
|
|
3070
|
-
): Promise<
|
|
3141
|
+
private async _challenge(
|
|
3142
|
+
params: MFAChallengeTOTPParams
|
|
3143
|
+
): Promise<Prettify<AuthMFAChallengeTOTPResponse>>
|
|
3144
|
+
private async _challenge(
|
|
3145
|
+
params: MFAChallengePhoneParams
|
|
3146
|
+
): Promise<Prettify<AuthMFAChallengePhoneResponse>>
|
|
3147
|
+
private async _challenge(
|
|
3148
|
+
params: MFAChallengeWebauthnParams
|
|
3149
|
+
): Promise<Prettify<AuthMFAChallengeWebauthnResponse>>
|
|
3150
|
+
private async _challenge(params: MFAChallengeParams): Promise<AuthMFAChallengeResponse> {
|
|
3071
3151
|
return this._acquireLock(-1, async () => {
|
|
3072
3152
|
try {
|
|
3073
3153
|
return await this._useSession(async (result) => {
|
|
@@ -3076,16 +3156,64 @@ export default class GoTrueClient {
|
|
|
3076
3156
|
return { data: null, error: sessionError }
|
|
3077
3157
|
}
|
|
3078
3158
|
|
|
3079
|
-
|
|
3159
|
+
const response = (await _request(
|
|
3080
3160
|
this.fetch,
|
|
3081
3161
|
'POST',
|
|
3082
3162
|
`${this.url}/factors/${params.factorId}/challenge`,
|
|
3083
3163
|
{
|
|
3084
|
-
body:
|
|
3164
|
+
body: params,
|
|
3085
3165
|
headers: this.headers,
|
|
3086
3166
|
jwt: sessionData?.session?.access_token,
|
|
3087
3167
|
}
|
|
3088
|
-
)
|
|
3168
|
+
)) as
|
|
3169
|
+
| Exclude<AuthMFAChallengeResponse, AuthMFAChallengeWebauthnResponse>
|
|
3170
|
+
/** The server will send `serialized` data, so we assert the serialized response */
|
|
3171
|
+
| AuthMFAChallengeWebauthnServerResponse
|
|
3172
|
+
|
|
3173
|
+
if (response.error) {
|
|
3174
|
+
return response
|
|
3175
|
+
}
|
|
3176
|
+
|
|
3177
|
+
const { data } = response
|
|
3178
|
+
|
|
3179
|
+
if (data.type !== 'webauthn') {
|
|
3180
|
+
return { data, error: null }
|
|
3181
|
+
}
|
|
3182
|
+
|
|
3183
|
+
switch (data.webauthn.type) {
|
|
3184
|
+
case 'create':
|
|
3185
|
+
return {
|
|
3186
|
+
data: {
|
|
3187
|
+
...data,
|
|
3188
|
+
webauthn: {
|
|
3189
|
+
...data.webauthn,
|
|
3190
|
+
credential_options: {
|
|
3191
|
+
...data.webauthn.credential_options,
|
|
3192
|
+
publicKey: deserializeCredentialCreationOptions(
|
|
3193
|
+
data.webauthn.credential_options.publicKey
|
|
3194
|
+
),
|
|
3195
|
+
},
|
|
3196
|
+
},
|
|
3197
|
+
},
|
|
3198
|
+
error: null,
|
|
3199
|
+
}
|
|
3200
|
+
case 'request':
|
|
3201
|
+
return {
|
|
3202
|
+
data: {
|
|
3203
|
+
...data,
|
|
3204
|
+
webauthn: {
|
|
3205
|
+
...data.webauthn,
|
|
3206
|
+
credential_options: {
|
|
3207
|
+
...data.webauthn.credential_options,
|
|
3208
|
+
publicKey: deserializeCredentialRequestOptions(
|
|
3209
|
+
data.webauthn.credential_options.publicKey
|
|
3210
|
+
),
|
|
3211
|
+
},
|
|
3212
|
+
},
|
|
3213
|
+
},
|
|
3214
|
+
error: null,
|
|
3215
|
+
}
|
|
3216
|
+
}
|
|
3089
3217
|
})
|
|
3090
3218
|
} catch (error) {
|
|
3091
3219
|
if (isAuthError(error)) {
|
|
@@ -3136,8 +3264,10 @@ export default class GoTrueClient {
|
|
|
3136
3264
|
all: [],
|
|
3137
3265
|
phone: [],
|
|
3138
3266
|
totp: [],
|
|
3267
|
+
webauthn: [],
|
|
3139
3268
|
}
|
|
3140
3269
|
|
|
3270
|
+
// loop over the factors ONCE
|
|
3141
3271
|
for (const factor of user?.factors ?? []) {
|
|
3142
3272
|
data.all.push(factor)
|
|
3143
3273
|
if (factor.status === 'verified') {
|
package/src/lib/base64url.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* that repo!
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { Uint8Array_ } from './webauthn.dom'
|
|
8
|
+
|
|
7
9
|
/**
|
|
8
10
|
* An array of characters that encode 6 bits into a Base64-URL alphabet
|
|
9
11
|
* character.
|
|
@@ -268,7 +270,7 @@ export function stringFromUTF8(
|
|
|
268
270
|
* Helper functions to convert different types of strings to Uint8Array
|
|
269
271
|
*/
|
|
270
272
|
|
|
271
|
-
export function base64UrlToUint8Array(str: string):
|
|
273
|
+
export function base64UrlToUint8Array(str: string): Uint8Array_ {
|
|
272
274
|
const result: number[] = []
|
|
273
275
|
const state = { queue: 0, queuedBits: 0 }
|
|
274
276
|
|
|
@@ -283,7 +285,7 @@ export function base64UrlToUint8Array(str: string): Uint8Array {
|
|
|
283
285
|
return new Uint8Array(result)
|
|
284
286
|
}
|
|
285
287
|
|
|
286
|
-
export function stringToUint8Array(str: string):
|
|
288
|
+
export function stringToUint8Array(str: string): Uint8Array_ {
|
|
287
289
|
const result: number[] = []
|
|
288
290
|
stringToUTF8(str, (byte: number) => result.push(byte))
|
|
289
291
|
return new Uint8Array(result)
|
package/src/lib/helpers.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { API_VERSION_HEADER_NAME, BASE64URL_REGEX } from './constants'
|
|
|
2
2
|
import { AuthInvalidJwtError } from './errors'
|
|
3
3
|
import { base64UrlToUint8Array, stringFromBase64URL } from './base64url'
|
|
4
4
|
import { JwtHeader, JwtPayload, SupportedStorage, User } from './types'
|
|
5
|
+
import { Uint8Array_ } from './webauthn.dom'
|
|
5
6
|
|
|
6
7
|
export function expiresAt(expiresIn: number) {
|
|
7
8
|
const timeNow = Math.round(Date.now() / 1000)
|
|
@@ -171,7 +172,7 @@ export class Deferred<T = any> {
|
|
|
171
172
|
export function decodeJWT(token: string): {
|
|
172
173
|
header: JwtHeader
|
|
173
174
|
payload: JwtPayload
|
|
174
|
-
signature:
|
|
175
|
+
signature: Uint8Array_
|
|
175
176
|
raw: {
|
|
176
177
|
header: string
|
|
177
178
|
payload: string
|