@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.
Files changed (65) hide show
  1. package/dist/main/GoTrueClient.d.ts +1 -1
  2. package/dist/main/GoTrueClient.d.ts.map +1 -1
  3. package/dist/main/GoTrueClient.js +43 -15
  4. package/dist/main/GoTrueClient.js.map +1 -1
  5. package/dist/main/lib/base64url.d.ts +3 -2
  6. package/dist/main/lib/base64url.d.ts.map +1 -1
  7. package/dist/main/lib/base64url.js.map +1 -1
  8. package/dist/main/lib/helpers.d.ts +2 -1
  9. package/dist/main/lib/helpers.d.ts.map +1 -1
  10. package/dist/main/lib/helpers.js.map +1 -1
  11. package/dist/main/lib/types.d.ts +140 -19
  12. package/dist/main/lib/types.d.ts.map +1 -1
  13. package/dist/main/lib/types.js +3 -2
  14. package/dist/main/lib/types.js.map +1 -1
  15. package/dist/main/lib/version.d.ts +1 -1
  16. package/dist/main/lib/version.js +1 -1
  17. package/dist/main/lib/webauthn.d.ts +274 -0
  18. package/dist/main/lib/webauthn.d.ts.map +1 -0
  19. package/dist/main/lib/webauthn.dom.d.ts +583 -0
  20. package/dist/main/lib/webauthn.dom.d.ts.map +1 -0
  21. package/dist/main/lib/webauthn.dom.js +4 -0
  22. package/dist/main/lib/webauthn.dom.js.map +1 -0
  23. package/dist/main/lib/webauthn.errors.d.ts +80 -0
  24. package/dist/main/lib/webauthn.errors.d.ts.map +1 -0
  25. package/dist/main/lib/webauthn.errors.js +265 -0
  26. package/dist/main/lib/webauthn.errors.js.map +1 -0
  27. package/dist/main/lib/webauthn.js +702 -0
  28. package/dist/main/lib/webauthn.js.map +1 -0
  29. package/dist/module/GoTrueClient.d.ts +1 -1
  30. package/dist/module/GoTrueClient.d.ts.map +1 -1
  31. package/dist/module/GoTrueClient.js +49 -21
  32. package/dist/module/GoTrueClient.js.map +1 -1
  33. package/dist/module/lib/base64url.d.ts +3 -2
  34. package/dist/module/lib/base64url.d.ts.map +1 -1
  35. package/dist/module/lib/base64url.js.map +1 -1
  36. package/dist/module/lib/helpers.d.ts +2 -1
  37. package/dist/module/lib/helpers.d.ts.map +1 -1
  38. package/dist/module/lib/helpers.js.map +1 -1
  39. package/dist/module/lib/types.d.ts +140 -19
  40. package/dist/module/lib/types.d.ts.map +1 -1
  41. package/dist/module/lib/types.js +2 -1
  42. package/dist/module/lib/types.js.map +1 -1
  43. package/dist/module/lib/version.d.ts +1 -1
  44. package/dist/module/lib/version.js +1 -1
  45. package/dist/module/lib/webauthn.d.ts +274 -0
  46. package/dist/module/lib/webauthn.d.ts.map +1 -0
  47. package/dist/module/lib/webauthn.dom.d.ts +583 -0
  48. package/dist/module/lib/webauthn.dom.d.ts.map +1 -0
  49. package/dist/module/lib/webauthn.dom.js +3 -0
  50. package/dist/module/lib/webauthn.dom.js.map +1 -0
  51. package/dist/module/lib/webauthn.errors.d.ts +80 -0
  52. package/dist/module/lib/webauthn.errors.d.ts.map +1 -0
  53. package/dist/module/lib/webauthn.errors.js +257 -0
  54. package/dist/module/lib/webauthn.errors.js.map +1 -0
  55. package/dist/module/lib/webauthn.js +685 -0
  56. package/dist/module/lib/webauthn.js.map +1 -0
  57. package/package.json +1 -1
  58. package/src/GoTrueClient.ts +198 -68
  59. package/src/lib/base64url.ts +4 -2
  60. package/src/lib/helpers.ts +2 -1
  61. package/src/lib/types.ts +205 -26
  62. package/src/lib/version.ts +1 -1
  63. package/src/lib/webauthn.dom.ts +636 -0
  64. package/src/lib/webauthn.errors.ts +317 -0
  65. 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.73.0-rc.3",
3
+ "version": "2.73.0-rc.5",
4
4
  "private": false,
5
5
  "description": "Official client library for Supabase Auth",
6
6
  "keywords": [
@@ -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
- AuthSessionMissingError,
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
- SSOResponse,
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' ? { phone: params.phone } : { issuer: params.issuer }),
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: { code: params.code, challenge_id: params.challengeId },
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<T extends FactorType>(
3069
- params: MFAChallengeParams
3070
- ): Promise<AuthMFAChallengeResponse<T>> {
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
- return await _request(
3159
+ const response = (await _request(
3080
3160
  this.fetch,
3081
3161
  'POST',
3082
3162
  `${this.url}/factors/${params.factorId}/challenge`,
3083
3163
  {
3084
- body: 'channel' in params ? { channel: params.channel } : {},
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') {
@@ -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): Uint8Array {
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): Uint8Array {
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)
@@ -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: Uint8Array
175
+ signature: Uint8Array_
175
176
  raw: {
176
177
  header: string
177
178
  payload: string