@better-auth/core 1.7.0-beta.4 → 1.7.0-beta.6

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 (170) hide show
  1. package/dist/api/index.d.mts +47 -4
  2. package/dist/api/index.mjs +40 -1
  3. package/dist/context/global.mjs +1 -1
  4. package/dist/context/transaction.d.mts +7 -4
  5. package/dist/context/transaction.mjs +6 -3
  6. package/dist/db/adapter/factory.mjs +57 -31
  7. package/dist/db/adapter/index.d.mts +54 -10
  8. package/dist/db/adapter/types.d.mts +1 -1
  9. package/dist/db/get-tables.mjs +3 -3
  10. package/dist/db/schema/account.d.mts +1 -1
  11. package/dist/db/schema/account.mjs +1 -1
  12. package/dist/db/type.d.mts +12 -7
  13. package/dist/env/env-impl.mjs +1 -1
  14. package/dist/error/codes.d.mts +5 -0
  15. package/dist/error/codes.mjs +5 -0
  16. package/dist/index.d.mts +2 -2
  17. package/dist/instrumentation/tracer.mjs +1 -1
  18. package/dist/oauth2/create-authorization-url.d.mts +4 -1
  19. package/dist/oauth2/create-authorization-url.mjs +5 -2
  20. package/dist/oauth2/dpop.d.mts +142 -0
  21. package/dist/oauth2/dpop.mjs +246 -0
  22. package/dist/oauth2/index.d.mts +6 -3
  23. package/dist/oauth2/index.mjs +5 -2
  24. package/dist/oauth2/oauth-provider.d.mts +128 -9
  25. package/dist/oauth2/refresh-access-token.mjs +1 -1
  26. package/dist/oauth2/scopes.d.mts +76 -0
  27. package/dist/oauth2/scopes.mjs +96 -0
  28. package/dist/oauth2/utils.mjs +2 -1
  29. package/dist/oauth2/verify-id-token.d.mts +26 -0
  30. package/dist/oauth2/verify-id-token.mjs +62 -0
  31. package/dist/oauth2/verify.d.mts +88 -15
  32. package/dist/oauth2/verify.mjs +187 -19
  33. package/dist/social-providers/apple.d.mts +14 -2
  34. package/dist/social-providers/apple.mjs +12 -36
  35. package/dist/social-providers/atlassian.d.mts +5 -1
  36. package/dist/social-providers/atlassian.mjs +4 -4
  37. package/dist/social-providers/cognito.d.mts +13 -2
  38. package/dist/social-providers/cognito.mjs +24 -32
  39. package/dist/social-providers/discord.d.mts +5 -1
  40. package/dist/social-providers/discord.mjs +7 -6
  41. package/dist/social-providers/dropbox.d.mts +5 -1
  42. package/dist/social-providers/dropbox.mjs +5 -5
  43. package/dist/social-providers/facebook.d.mts +21 -2
  44. package/dist/social-providers/facebook.mjs +46 -22
  45. package/dist/social-providers/figma.d.mts +5 -1
  46. package/dist/social-providers/figma.mjs +5 -5
  47. package/dist/social-providers/github.d.mts +5 -1
  48. package/dist/social-providers/github.mjs +4 -4
  49. package/dist/social-providers/gitlab.d.mts +5 -1
  50. package/dist/social-providers/gitlab.mjs +6 -6
  51. package/dist/social-providers/google.d.mts +29 -3
  52. package/dist/social-providers/google.mjs +24 -30
  53. package/dist/social-providers/huggingface.d.mts +5 -1
  54. package/dist/social-providers/huggingface.mjs +8 -8
  55. package/dist/social-providers/index.d.mts +222 -42
  56. package/dist/social-providers/kakao.d.mts +5 -1
  57. package/dist/social-providers/kakao.mjs +8 -8
  58. package/dist/social-providers/kick.d.mts +5 -1
  59. package/dist/social-providers/kick.mjs +4 -4
  60. package/dist/social-providers/line.d.mts +8 -2
  61. package/dist/social-providers/line.mjs +12 -14
  62. package/dist/social-providers/linear.d.mts +5 -1
  63. package/dist/social-providers/linear.mjs +4 -4
  64. package/dist/social-providers/linkedin.d.mts +5 -1
  65. package/dist/social-providers/linkedin.mjs +10 -10
  66. package/dist/social-providers/microsoft-entra-id.d.mts +41 -6
  67. package/dist/social-providers/microsoft-entra-id.mjs +40 -36
  68. package/dist/social-providers/naver.d.mts +5 -1
  69. package/dist/social-providers/naver.mjs +4 -4
  70. package/dist/social-providers/notion.d.mts +5 -1
  71. package/dist/social-providers/notion.mjs +4 -4
  72. package/dist/social-providers/paybin.d.mts +5 -1
  73. package/dist/social-providers/paybin.mjs +10 -10
  74. package/dist/social-providers/paypal.d.mts +5 -2
  75. package/dist/social-providers/paypal.mjs +8 -13
  76. package/dist/social-providers/polar.d.mts +5 -1
  77. package/dist/social-providers/polar.mjs +8 -8
  78. package/dist/social-providers/railway.d.mts +5 -1
  79. package/dist/social-providers/railway.mjs +9 -9
  80. package/dist/social-providers/reddit.d.mts +5 -1
  81. package/dist/social-providers/reddit.mjs +9 -8
  82. package/dist/social-providers/roblox.d.mts +5 -1
  83. package/dist/social-providers/roblox.mjs +5 -5
  84. package/dist/social-providers/salesforce.d.mts +5 -1
  85. package/dist/social-providers/salesforce.mjs +8 -8
  86. package/dist/social-providers/slack.d.mts +5 -1
  87. package/dist/social-providers/slack.mjs +9 -9
  88. package/dist/social-providers/spotify.d.mts +5 -1
  89. package/dist/social-providers/spotify.mjs +5 -5
  90. package/dist/social-providers/tiktok.d.mts +5 -1
  91. package/dist/social-providers/tiktok.mjs +9 -5
  92. package/dist/social-providers/twitch.d.mts +5 -1
  93. package/dist/social-providers/twitch.mjs +4 -4
  94. package/dist/social-providers/twitter.d.mts +6 -4
  95. package/dist/social-providers/twitter.mjs +9 -9
  96. package/dist/social-providers/vercel.d.mts +5 -1
  97. package/dist/social-providers/vercel.mjs +4 -7
  98. package/dist/social-providers/vk.d.mts +5 -1
  99. package/dist/social-providers/vk.mjs +5 -5
  100. package/dist/social-providers/wechat.d.mts +5 -1
  101. package/dist/social-providers/wechat.mjs +10 -6
  102. package/dist/social-providers/zoom.d.mts +6 -1
  103. package/dist/social-providers/zoom.mjs +15 -9
  104. package/dist/types/context.d.mts +27 -8
  105. package/dist/types/index.d.mts +1 -1
  106. package/dist/types/init-options.d.mts +137 -6
  107. package/dist/types/plugin-client.d.mts +12 -2
  108. package/dist/utils/host.mjs +4 -0
  109. package/dist/utils/url.mjs +4 -3
  110. package/package.json +7 -7
  111. package/src/api/index.ts +82 -0
  112. package/src/context/transaction.ts +45 -12
  113. package/src/db/adapter/factory.ts +127 -64
  114. package/src/db/adapter/index.ts +54 -9
  115. package/src/db/adapter/types.ts +1 -0
  116. package/src/db/get-tables.ts +8 -3
  117. package/src/db/schema/account.ts +14 -2
  118. package/src/db/type.ts +12 -7
  119. package/src/env/env-impl.ts +1 -2
  120. package/src/error/codes.ts +5 -0
  121. package/src/oauth2/create-authorization-url.ts +2 -2
  122. package/src/oauth2/dpop.ts +568 -0
  123. package/src/oauth2/index.ts +61 -2
  124. package/src/oauth2/oauth-provider.ts +140 -10
  125. package/src/oauth2/refresh-access-token.ts +2 -2
  126. package/src/oauth2/scopes.ts +118 -0
  127. package/src/oauth2/utils.ts +2 -5
  128. package/src/oauth2/verify-id-token.ts +111 -0
  129. package/src/oauth2/verify.ts +372 -58
  130. package/src/social-providers/apple.ts +24 -61
  131. package/src/social-providers/atlassian.ts +12 -8
  132. package/src/social-providers/cognito.ts +25 -47
  133. package/src/social-providers/discord.ts +19 -8
  134. package/src/social-providers/dropbox.ts +13 -7
  135. package/src/social-providers/facebook.ts +97 -51
  136. package/src/social-providers/figma.ts +13 -9
  137. package/src/social-providers/github.ts +12 -8
  138. package/src/social-providers/gitlab.ts +14 -8
  139. package/src/social-providers/google.ts +66 -47
  140. package/src/social-providers/huggingface.ts +12 -8
  141. package/src/social-providers/kakao.ts +16 -8
  142. package/src/social-providers/kick.ts +12 -7
  143. package/src/social-providers/line.ts +37 -37
  144. package/src/social-providers/linear.ts +12 -6
  145. package/src/social-providers/linkedin.ts +14 -10
  146. package/src/social-providers/microsoft-entra-id.ts +103 -59
  147. package/src/social-providers/naver.ts +12 -6
  148. package/src/social-providers/notion.ts +12 -6
  149. package/src/social-providers/paybin.ts +14 -11
  150. package/src/social-providers/paypal.ts +6 -25
  151. package/src/social-providers/polar.ts +12 -8
  152. package/src/social-providers/railway.ts +13 -9
  153. package/src/social-providers/reddit.ts +25 -10
  154. package/src/social-providers/roblox.ts +18 -7
  155. package/src/social-providers/salesforce.ts +12 -8
  156. package/src/social-providers/slack.ts +18 -9
  157. package/src/social-providers/spotify.ts +13 -7
  158. package/src/social-providers/tiktok.ts +13 -7
  159. package/src/social-providers/twitch.ts +12 -8
  160. package/src/social-providers/twitter.ts +17 -8
  161. package/src/social-providers/vercel.ts +16 -10
  162. package/src/social-providers/vk.ts +13 -7
  163. package/src/social-providers/wechat.ts +28 -9
  164. package/src/social-providers/zoom.ts +19 -6
  165. package/src/types/context.ts +26 -8
  166. package/src/types/index.ts +7 -0
  167. package/src/types/init-options.ts +159 -8
  168. package/src/types/plugin-client.ts +16 -2
  169. package/src/utils/host.ts +15 -0
  170. package/src/utils/url.ts +10 -4
@@ -36,12 +36,14 @@ import { WeChatOptions, WeChatProfile, wechat } from "./wechat.mjs";
36
36
  import { AwaitableFunction } from "../types/helper.mjs";
37
37
  import { OAuth2Tokens } from "../oauth2/oauth-provider.mjs";
38
38
  import * as z from "zod";
39
+ import * as jose from "jose";
39
40
 
40
41
  //#region src/social-providers/index.d.ts
41
42
  declare const socialProviders: {
42
43
  apple: (options: AppleOptions) => {
43
44
  id: "apple";
44
45
  name: string;
46
+ callbackPath: string;
45
47
  createAuthorizationURL({
46
48
  state,
47
49
  scopes,
@@ -55,7 +57,10 @@ declare const socialProviders: {
55
57
  display?: string | undefined;
56
58
  loginHint?: string | undefined;
57
59
  additionalParams?: Record<string, string> | undefined;
58
- }): Promise<URL>;
60
+ }): Promise<{
61
+ url: URL;
62
+ requestedScopes: string[];
63
+ }>;
59
64
  validateAuthorizationCode: ({
60
65
  code,
61
66
  codeVerifier,
@@ -66,7 +71,13 @@ declare const socialProviders: {
66
71
  codeVerifier?: string | undefined;
67
72
  deviceId?: string | undefined;
68
73
  }) => Promise<OAuth2Tokens>;
69
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
74
+ idToken: {
75
+ jwks: (header: jose.JWTHeaderParameters) => Promise<Uint8Array<ArrayBufferLike> | CryptoKey>;
76
+ issuer: string;
77
+ audience: string | string[];
78
+ maxTokenAge: string;
79
+ nonceComparison: "exact-or-sha256";
80
+ };
70
81
  refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
71
82
  getUserInfo(token: OAuth2Tokens & {
72
83
  user?: {
@@ -92,6 +103,7 @@ declare const socialProviders: {
92
103
  atlassian: (options: AtlassianOptions) => {
93
104
  id: "atlassian";
94
105
  name: string;
106
+ callbackPath: string;
95
107
  createAuthorizationURL({
96
108
  state,
97
109
  scopes,
@@ -106,7 +118,10 @@ declare const socialProviders: {
106
118
  display?: string | undefined;
107
119
  loginHint?: string | undefined;
108
120
  additionalParams?: Record<string, string> | undefined;
109
- }): Promise<URL>;
121
+ }): Promise<{
122
+ url: URL;
123
+ requestedScopes: string[];
124
+ }>;
110
125
  validateAuthorizationCode: ({
111
126
  code,
112
127
  codeVerifier,
@@ -142,6 +157,7 @@ declare const socialProviders: {
142
157
  cognito: (options: CognitoOptions) => {
143
158
  id: "cognito";
144
159
  name: string;
160
+ callbackPath: string;
145
161
  createAuthorizationURL({
146
162
  state,
147
163
  scopes,
@@ -156,7 +172,10 @@ declare const socialProviders: {
156
172
  display?: string | undefined;
157
173
  loginHint?: string | undefined;
158
174
  additionalParams?: Record<string, string> | undefined;
159
- }): Promise<URL>;
175
+ }): Promise<{
176
+ url: URL;
177
+ requestedScopes: string[];
178
+ }>;
160
179
  validateAuthorizationCode: ({
161
180
  code,
162
181
  codeVerifier,
@@ -168,7 +187,12 @@ declare const socialProviders: {
168
187
  deviceId?: string | undefined;
169
188
  }) => Promise<OAuth2Tokens>;
170
189
  refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
171
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
190
+ idToken: {
191
+ jwks: (header: jose.JWTHeaderParameters) => Promise<Uint8Array<ArrayBufferLike> | CryptoKey>;
192
+ issuer: string;
193
+ audience: string | string[];
194
+ maxTokenAge: string;
195
+ };
172
196
  getUserInfo(token: OAuth2Tokens & {
173
197
  user?: {
174
198
  name?: {
@@ -193,6 +217,7 @@ declare const socialProviders: {
193
217
  discord: (options: DiscordOptions) => {
194
218
  id: "discord";
195
219
  name: string;
220
+ callbackPath: string;
196
221
  createAuthorizationURL({
197
222
  state,
198
223
  scopes,
@@ -206,7 +231,10 @@ declare const socialProviders: {
206
231
  display?: string | undefined;
207
232
  loginHint?: string | undefined;
208
233
  additionalParams?: Record<string, string> | undefined;
209
- }): Promise<URL>;
234
+ }): Promise<{
235
+ url: URL;
236
+ requestedScopes: string[];
237
+ }>;
210
238
  validateAuthorizationCode: ({
211
239
  code,
212
240
  redirectURI
@@ -241,6 +269,7 @@ declare const socialProviders: {
241
269
  facebook: (options: FacebookOptions) => {
242
270
  id: "facebook";
243
271
  name: string;
272
+ callbackPath: string;
244
273
  createAuthorizationURL({
245
274
  state,
246
275
  scopes,
@@ -255,7 +284,10 @@ declare const socialProviders: {
255
284
  display?: string | undefined;
256
285
  loginHint?: string | undefined;
257
286
  additionalParams?: Record<string, string> | undefined;
258
- }): Promise<URL>;
287
+ }): Promise<{
288
+ url: URL;
289
+ requestedScopes: string[];
290
+ }>;
259
291
  validateAuthorizationCode: ({
260
292
  code,
261
293
  redirectURI
@@ -265,7 +297,20 @@ declare const socialProviders: {
265
297
  codeVerifier?: string | undefined;
266
298
  deviceId?: string | undefined;
267
299
  }) => Promise<OAuth2Tokens>;
268
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
300
+ idToken: {
301
+ jwks: {
302
+ (protectedHeader?: jose.JWSHeaderParameters, token?: jose.FlattenedJWSInput): Promise<jose.CryptoKey>;
303
+ coolingDown: boolean;
304
+ fresh: boolean;
305
+ reloading: boolean;
306
+ reload: () => Promise<void>;
307
+ jwks: () => jose.JSONWebKeySet | undefined;
308
+ };
309
+ issuer: string;
310
+ audience: string | string[];
311
+ algorithms: string[];
312
+ allowOpaqueToken: true;
313
+ };
269
314
  refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
270
315
  getUserInfo(token: OAuth2Tokens & {
271
316
  user?: {
@@ -291,6 +336,7 @@ declare const socialProviders: {
291
336
  figma: (options: FigmaOptions) => {
292
337
  id: "figma";
293
338
  name: string;
339
+ callbackPath: string;
294
340
  createAuthorizationURL({
295
341
  state,
296
342
  scopes,
@@ -305,7 +351,10 @@ declare const socialProviders: {
305
351
  display?: string | undefined;
306
352
  loginHint?: string | undefined;
307
353
  additionalParams?: Record<string, string> | undefined;
308
- }): Promise<URL>;
354
+ }): Promise<{
355
+ url: URL;
356
+ requestedScopes: string[];
357
+ }>;
309
358
  validateAuthorizationCode: ({
310
359
  code,
311
360
  codeVerifier,
@@ -341,6 +390,7 @@ declare const socialProviders: {
341
390
  github: (options: GithubOptions) => {
342
391
  id: "github";
343
392
  name: string;
393
+ callbackPath: string;
344
394
  createAuthorizationURL({
345
395
  state,
346
396
  scopes,
@@ -356,7 +406,10 @@ declare const socialProviders: {
356
406
  display?: string | undefined;
357
407
  loginHint?: string | undefined;
358
408
  additionalParams?: Record<string, string> | undefined;
359
- }): Promise<URL>;
409
+ }): Promise<{
410
+ url: URL;
411
+ requestedScopes: string[];
412
+ }>;
360
413
  validateAuthorizationCode: ({
361
414
  code,
362
415
  codeVerifier,
@@ -392,6 +445,7 @@ declare const socialProviders: {
392
445
  microsoft: (options: MicrosoftOptions) => {
393
446
  id: "microsoft";
394
447
  name: string;
448
+ callbackPath: string;
395
449
  createAuthorizationURL(data: {
396
450
  state: string;
397
451
  codeVerifier: string;
@@ -400,7 +454,10 @@ declare const socialProviders: {
400
454
  display?: string | undefined;
401
455
  loginHint?: string | undefined;
402
456
  additionalParams?: Record<string, string> | undefined;
403
- }): Promise<URL>;
457
+ }): Promise<{
458
+ url: URL;
459
+ requestedScopes: string[];
460
+ }>;
404
461
  validateAuthorizationCode({
405
462
  code,
406
463
  codeVerifier,
@@ -411,7 +468,13 @@ declare const socialProviders: {
411
468
  codeVerifier?: string | undefined;
412
469
  deviceId?: string | undefined;
413
470
  }): Promise<OAuth2Tokens>;
414
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
471
+ idToken: {
472
+ jwks: (header: jose.JWTHeaderParameters) => Promise<Uint8Array<ArrayBufferLike> | CryptoKey>;
473
+ audience: string | string[];
474
+ maxTokenAge: string;
475
+ issuer: string | undefined;
476
+ verifyClaims: (claims: Record<string, unknown>) => boolean;
477
+ };
415
478
  getUserInfo(token: OAuth2Tokens & {
416
479
  user?: {
417
480
  name?: {
@@ -437,6 +500,8 @@ declare const socialProviders: {
437
500
  google: (options: GoogleOptions) => {
438
501
  id: "google";
439
502
  name: string;
503
+ callbackPath: string;
504
+ grantAuthority: "full-grant" | "projection";
440
505
  createAuthorizationURL({
441
506
  state,
442
507
  scopes,
@@ -453,7 +518,10 @@ declare const socialProviders: {
453
518
  display?: string | undefined;
454
519
  loginHint?: string | undefined;
455
520
  additionalParams?: Record<string, string> | undefined;
456
- }): Promise<URL>;
521
+ }): Promise<{
522
+ url: URL;
523
+ requestedScopes: string[];
524
+ }>;
457
525
  validateAuthorizationCode: ({
458
526
  code,
459
527
  codeVerifier,
@@ -465,7 +533,13 @@ declare const socialProviders: {
465
533
  deviceId?: string | undefined;
466
534
  }) => Promise<OAuth2Tokens>;
467
535
  refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
468
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
536
+ idToken: {
537
+ jwks: (header: jose.JWTHeaderParameters) => Promise<Uint8Array<ArrayBufferLike> | CryptoKey>;
538
+ issuer: string[];
539
+ audience: string | string[];
540
+ maxTokenAge: string;
541
+ verifyClaims: ((claims: Record<string, unknown>) => boolean) | undefined;
542
+ };
469
543
  getUserInfo(token: OAuth2Tokens & {
470
544
  user?: {
471
545
  name?: {
@@ -490,6 +564,7 @@ declare const socialProviders: {
490
564
  huggingface: (options: HuggingFaceOptions) => {
491
565
  id: "huggingface";
492
566
  name: string;
567
+ callbackPath: string;
493
568
  createAuthorizationURL({
494
569
  state,
495
570
  scopes,
@@ -504,7 +579,10 @@ declare const socialProviders: {
504
579
  display?: string | undefined;
505
580
  loginHint?: string | undefined;
506
581
  additionalParams?: Record<string, string> | undefined;
507
- }): Promise<URL>;
582
+ }): Promise<{
583
+ url: URL;
584
+ requestedScopes: string[];
585
+ }>;
508
586
  validateAuthorizationCode: ({
509
587
  code,
510
588
  codeVerifier,
@@ -540,6 +618,7 @@ declare const socialProviders: {
540
618
  slack: (options: SlackOptions) => {
541
619
  id: "slack";
542
620
  name: string;
621
+ callbackPath: string;
543
622
  createAuthorizationURL({
544
623
  state,
545
624
  scopes,
@@ -553,7 +632,10 @@ declare const socialProviders: {
553
632
  display?: string | undefined;
554
633
  loginHint?: string | undefined;
555
634
  additionalParams?: Record<string, string> | undefined;
556
- }): Promise<URL>;
635
+ }): Promise<{
636
+ url: URL;
637
+ requestedScopes: string[];
638
+ }>;
557
639
  validateAuthorizationCode: ({
558
640
  code,
559
641
  redirectURI
@@ -588,6 +670,7 @@ declare const socialProviders: {
588
670
  spotify: (options: SpotifyOptions) => {
589
671
  id: "spotify";
590
672
  name: string;
673
+ callbackPath: string;
591
674
  createAuthorizationURL({
592
675
  state,
593
676
  scopes,
@@ -602,7 +685,10 @@ declare const socialProviders: {
602
685
  display?: string | undefined;
603
686
  loginHint?: string | undefined;
604
687
  additionalParams?: Record<string, string> | undefined;
605
- }): Promise<URL>;
688
+ }): Promise<{
689
+ url: URL;
690
+ requestedScopes: string[];
691
+ }>;
606
692
  validateAuthorizationCode: ({
607
693
  code,
608
694
  codeVerifier,
@@ -638,6 +724,7 @@ declare const socialProviders: {
638
724
  twitch: (options: TwitchOptions) => {
639
725
  id: "twitch";
640
726
  name: string;
727
+ callbackPath: string;
641
728
  createAuthorizationURL({
642
729
  state,
643
730
  scopes,
@@ -651,7 +738,10 @@ declare const socialProviders: {
651
738
  display?: string | undefined;
652
739
  loginHint?: string | undefined;
653
740
  additionalParams?: Record<string, string> | undefined;
654
- }): Promise<URL>;
741
+ }): Promise<{
742
+ url: URL;
743
+ requestedScopes: string[];
744
+ }>;
655
745
  validateAuthorizationCode: ({
656
746
  code,
657
747
  redirectURI
@@ -686,6 +776,7 @@ declare const socialProviders: {
686
776
  twitter: (options: TwitterOption) => {
687
777
  id: "twitter";
688
778
  name: string;
779
+ callbackPath: string;
689
780
  createAuthorizationURL(data: {
690
781
  state: string;
691
782
  codeVerifier: string;
@@ -694,7 +785,10 @@ declare const socialProviders: {
694
785
  display?: string | undefined;
695
786
  loginHint?: string | undefined;
696
787
  additionalParams?: Record<string, string> | undefined;
697
- }): Promise<URL>;
788
+ }): Promise<{
789
+ url: URL;
790
+ requestedScopes: string[];
791
+ }>;
698
792
  validateAuthorizationCode: ({
699
793
  code,
700
794
  codeVerifier,
@@ -730,6 +824,7 @@ declare const socialProviders: {
730
824
  dropbox: (options: DropboxOptions) => {
731
825
  id: "dropbox";
732
826
  name: string;
827
+ callbackPath: string;
733
828
  createAuthorizationURL: ({
734
829
  state,
735
830
  scopes,
@@ -744,7 +839,10 @@ declare const socialProviders: {
744
839
  display?: string | undefined;
745
840
  loginHint?: string | undefined;
746
841
  additionalParams?: Record<string, string> | undefined;
747
- }) => Promise<URL>;
842
+ }) => Promise<{
843
+ url: URL;
844
+ requestedScopes: string[];
845
+ }>;
748
846
  validateAuthorizationCode: ({
749
847
  code,
750
848
  codeVerifier,
@@ -780,6 +878,7 @@ declare const socialProviders: {
780
878
  kick: (options: KickOptions) => {
781
879
  id: "kick";
782
880
  name: string;
881
+ callbackPath: string;
783
882
  createAuthorizationURL({
784
883
  state,
785
884
  scopes,
@@ -794,7 +893,10 @@ declare const socialProviders: {
794
893
  display?: string | undefined;
795
894
  loginHint?: string | undefined;
796
895
  additionalParams?: Record<string, string> | undefined;
797
- }): Promise<URL>;
896
+ }): Promise<{
897
+ url: URL;
898
+ requestedScopes: string[];
899
+ }>;
798
900
  validateAuthorizationCode({
799
901
  code,
800
902
  redirectURI,
@@ -830,6 +932,7 @@ declare const socialProviders: {
830
932
  linear: (options: LinearOptions) => {
831
933
  id: "linear";
832
934
  name: string;
935
+ callbackPath: string;
833
936
  createAuthorizationURL({
834
937
  state,
835
938
  scopes,
@@ -844,7 +947,10 @@ declare const socialProviders: {
844
947
  display?: string | undefined;
845
948
  loginHint?: string | undefined;
846
949
  additionalParams?: Record<string, string> | undefined;
847
- }): Promise<URL>;
950
+ }): Promise<{
951
+ url: URL;
952
+ requestedScopes: string[];
953
+ }>;
848
954
  validateAuthorizationCode: ({
849
955
  code,
850
956
  redirectURI
@@ -879,6 +985,7 @@ declare const socialProviders: {
879
985
  linkedin: (options: LinkedInOptions) => {
880
986
  id: "linkedin";
881
987
  name: string;
988
+ callbackPath: string;
882
989
  createAuthorizationURL: ({
883
990
  state,
884
991
  scopes,
@@ -893,7 +1000,10 @@ declare const socialProviders: {
893
1000
  display?: string | undefined;
894
1001
  loginHint?: string | undefined;
895
1002
  additionalParams?: Record<string, string> | undefined;
896
- }) => Promise<URL>;
1003
+ }) => Promise<{
1004
+ url: URL;
1005
+ requestedScopes: string[];
1006
+ }>;
897
1007
  validateAuthorizationCode: ({
898
1008
  code,
899
1009
  redirectURI
@@ -928,6 +1038,7 @@ declare const socialProviders: {
928
1038
  gitlab: (options: GitlabOptions) => {
929
1039
  id: "gitlab";
930
1040
  name: string;
1041
+ callbackPath: string;
931
1042
  createAuthorizationURL: ({
932
1043
  state,
933
1044
  scopes,
@@ -943,7 +1054,10 @@ declare const socialProviders: {
943
1054
  display?: string | undefined;
944
1055
  loginHint?: string | undefined;
945
1056
  additionalParams?: Record<string, string> | undefined;
946
- }) => Promise<URL>;
1057
+ }) => Promise<{
1058
+ url: URL;
1059
+ requestedScopes: string[];
1060
+ }>;
947
1061
  validateAuthorizationCode: ({
948
1062
  code,
949
1063
  redirectURI,
@@ -1000,6 +1114,7 @@ declare const socialProviders: {
1000
1114
  tiktok: (options: TiktokOptions) => {
1001
1115
  id: "tiktok";
1002
1116
  name: string;
1117
+ callbackPath: string;
1003
1118
  createAuthorizationURL({
1004
1119
  state,
1005
1120
  scopes,
@@ -1013,7 +1128,10 @@ declare const socialProviders: {
1013
1128
  display?: string | undefined;
1014
1129
  loginHint?: string | undefined;
1015
1130
  additionalParams?: Record<string, string> | undefined;
1016
- }): URL;
1131
+ }): {
1132
+ url: URL;
1133
+ requestedScopes: string[];
1134
+ };
1017
1135
  validateAuthorizationCode: ({
1018
1136
  code,
1019
1137
  redirectURI
@@ -1048,6 +1166,7 @@ declare const socialProviders: {
1048
1166
  reddit: (options: RedditOptions) => {
1049
1167
  id: "reddit";
1050
1168
  name: string;
1169
+ callbackPath: string;
1051
1170
  createAuthorizationURL({
1052
1171
  state,
1053
1172
  scopes,
@@ -1061,7 +1180,10 @@ declare const socialProviders: {
1061
1180
  display?: string | undefined;
1062
1181
  loginHint?: string | undefined;
1063
1182
  additionalParams?: Record<string, string> | undefined;
1064
- }): Promise<URL>;
1183
+ }): Promise<{
1184
+ url: URL;
1185
+ requestedScopes: string[];
1186
+ }>;
1065
1187
  validateAuthorizationCode: ({
1066
1188
  code,
1067
1189
  redirectURI
@@ -1096,6 +1218,7 @@ declare const socialProviders: {
1096
1218
  roblox: (options: RobloxOptions) => {
1097
1219
  id: "roblox";
1098
1220
  name: string;
1221
+ callbackPath: string;
1099
1222
  createAuthorizationURL({
1100
1223
  state,
1101
1224
  scopes,
@@ -1109,7 +1232,10 @@ declare const socialProviders: {
1109
1232
  display?: string | undefined;
1110
1233
  loginHint?: string | undefined;
1111
1234
  additionalParams?: Record<string, string> | undefined;
1112
- }): Promise<URL>;
1235
+ }): Promise<{
1236
+ url: URL;
1237
+ requestedScopes: string[];
1238
+ }>;
1113
1239
  validateAuthorizationCode: ({
1114
1240
  code,
1115
1241
  redirectURI
@@ -1144,6 +1270,7 @@ declare const socialProviders: {
1144
1270
  salesforce: (options: SalesforceOptions) => {
1145
1271
  id: "salesforce";
1146
1272
  name: string;
1273
+ callbackPath: string;
1147
1274
  createAuthorizationURL({
1148
1275
  state,
1149
1276
  scopes,
@@ -1158,7 +1285,10 @@ declare const socialProviders: {
1158
1285
  display?: string | undefined;
1159
1286
  loginHint?: string | undefined;
1160
1287
  additionalParams?: Record<string, string> | undefined;
1161
- }): Promise<URL>;
1288
+ }): Promise<{
1289
+ url: URL;
1290
+ requestedScopes: string[];
1291
+ }>;
1162
1292
  validateAuthorizationCode: ({
1163
1293
  code,
1164
1294
  codeVerifier,
@@ -1194,6 +1324,7 @@ declare const socialProviders: {
1194
1324
  vk: (options: VkOption) => {
1195
1325
  id: "vk";
1196
1326
  name: string;
1327
+ callbackPath: string;
1197
1328
  createAuthorizationURL({
1198
1329
  state,
1199
1330
  scopes,
@@ -1208,7 +1339,10 @@ declare const socialProviders: {
1208
1339
  display?: string | undefined;
1209
1340
  loginHint?: string | undefined;
1210
1341
  additionalParams?: Record<string, string> | undefined;
1211
- }): Promise<URL>;
1342
+ }): Promise<{
1343
+ url: URL;
1344
+ requestedScopes: string[];
1345
+ }>;
1212
1346
  validateAuthorizationCode: ({
1213
1347
  code,
1214
1348
  codeVerifier,
@@ -1245,8 +1379,10 @@ declare const socialProviders: {
1245
1379
  zoom: (userOptions: ZoomOptions) => {
1246
1380
  id: "zoom";
1247
1381
  name: string;
1382
+ callbackPath: string;
1248
1383
  createAuthorizationURL: ({
1249
1384
  state,
1385
+ scopes,
1250
1386
  redirectURI,
1251
1387
  codeVerifier,
1252
1388
  additionalParams
@@ -1258,7 +1394,10 @@ declare const socialProviders: {
1258
1394
  display?: string | undefined;
1259
1395
  loginHint?: string | undefined;
1260
1396
  additionalParams?: Record<string, string> | undefined;
1261
- }) => Promise<URL>;
1397
+ }) => Promise<{
1398
+ url: URL;
1399
+ requestedScopes: string[];
1400
+ }>;
1262
1401
  validateAuthorizationCode: ({
1263
1402
  code,
1264
1403
  redirectURI,
@@ -1293,6 +1432,7 @@ declare const socialProviders: {
1293
1432
  notion: (options: NotionOptions) => {
1294
1433
  id: "notion";
1295
1434
  name: string;
1435
+ callbackPath: string;
1296
1436
  createAuthorizationURL({
1297
1437
  state,
1298
1438
  scopes,
@@ -1307,7 +1447,10 @@ declare const socialProviders: {
1307
1447
  display?: string | undefined;
1308
1448
  loginHint?: string | undefined;
1309
1449
  additionalParams?: Record<string, string> | undefined;
1310
- }): Promise<URL>;
1450
+ }): Promise<{
1451
+ url: URL;
1452
+ requestedScopes: string[];
1453
+ }>;
1311
1454
  validateAuthorizationCode: ({
1312
1455
  code,
1313
1456
  redirectURI
@@ -1342,6 +1485,7 @@ declare const socialProviders: {
1342
1485
  kakao: (options: KakaoOptions) => {
1343
1486
  id: "kakao";
1344
1487
  name: string;
1488
+ callbackPath: string;
1345
1489
  createAuthorizationURL({
1346
1490
  state,
1347
1491
  scopes,
@@ -1355,7 +1499,10 @@ declare const socialProviders: {
1355
1499
  display?: string | undefined;
1356
1500
  loginHint?: string | undefined;
1357
1501
  additionalParams?: Record<string, string> | undefined;
1358
- }): Promise<URL>;
1502
+ }): Promise<{
1503
+ url: URL;
1504
+ requestedScopes: string[];
1505
+ }>;
1359
1506
  validateAuthorizationCode: ({
1360
1507
  code,
1361
1508
  redirectURI
@@ -1411,6 +1558,7 @@ declare const socialProviders: {
1411
1558
  naver: (options: NaverOptions) => {
1412
1559
  id: "naver";
1413
1560
  name: string;
1561
+ callbackPath: string;
1414
1562
  createAuthorizationURL({
1415
1563
  state,
1416
1564
  scopes,
@@ -1424,7 +1572,10 @@ declare const socialProviders: {
1424
1572
  display?: string | undefined;
1425
1573
  loginHint?: string | undefined;
1426
1574
  additionalParams?: Record<string, string> | undefined;
1427
- }): Promise<URL>;
1575
+ }): Promise<{
1576
+ url: URL;
1577
+ requestedScopes: string[];
1578
+ }>;
1428
1579
  validateAuthorizationCode: ({
1429
1580
  code,
1430
1581
  redirectURI
@@ -1480,6 +1631,7 @@ declare const socialProviders: {
1480
1631
  line: (options: LineOptions) => {
1481
1632
  id: "line";
1482
1633
  name: string;
1634
+ callbackPath: string;
1483
1635
  createAuthorizationURL({
1484
1636
  state,
1485
1637
  scopes,
@@ -1495,7 +1647,10 @@ declare const socialProviders: {
1495
1647
  display?: string | undefined;
1496
1648
  loginHint?: string | undefined;
1497
1649
  additionalParams?: Record<string, string> | undefined;
1498
- }): Promise<URL>;
1650
+ }): Promise<{
1651
+ url: URL;
1652
+ requestedScopes: string[];
1653
+ }>;
1499
1654
  validateAuthorizationCode: ({
1500
1655
  code,
1501
1656
  codeVerifier,
@@ -1507,7 +1662,9 @@ declare const socialProviders: {
1507
1662
  deviceId?: string | undefined;
1508
1663
  }) => Promise<OAuth2Tokens>;
1509
1664
  refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
1510
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
1665
+ idToken: {
1666
+ verify: (token: string, nonce: string | undefined) => Promise<boolean>;
1667
+ };
1511
1668
  getUserInfo(token: OAuth2Tokens & {
1512
1669
  user?: {
1513
1670
  name?: {
@@ -1553,6 +1710,7 @@ declare const socialProviders: {
1553
1710
  paybin: (options: PaybinOptions) => {
1554
1711
  id: "paybin";
1555
1712
  name: string;
1713
+ callbackPath: string;
1556
1714
  createAuthorizationURL({
1557
1715
  state,
1558
1716
  scopes,
@@ -1568,7 +1726,10 @@ declare const socialProviders: {
1568
1726
  display?: string | undefined;
1569
1727
  loginHint?: string | undefined;
1570
1728
  additionalParams?: Record<string, string> | undefined;
1571
- }): Promise<URL>;
1729
+ }): Promise<{
1730
+ url: URL;
1731
+ requestedScopes: string[];
1732
+ }>;
1572
1733
  validateAuthorizationCode: ({
1573
1734
  code,
1574
1735
  codeVerifier,
@@ -1604,6 +1765,7 @@ declare const socialProviders: {
1604
1765
  paypal: (options: PayPalOptions) => {
1605
1766
  id: "paypal";
1606
1767
  name: string;
1768
+ callbackPath: string;
1607
1769
  createAuthorizationURL({
1608
1770
  state,
1609
1771
  codeVerifier,
@@ -1617,7 +1779,10 @@ declare const socialProviders: {
1617
1779
  display?: string | undefined;
1618
1780
  loginHint?: string | undefined;
1619
1781
  additionalParams?: Record<string, string> | undefined;
1620
- }): Promise<URL>;
1782
+ }): Promise<{
1783
+ url: URL;
1784
+ requestedScopes: string[];
1785
+ }>;
1621
1786
  validateAuthorizationCode: ({
1622
1787
  code,
1623
1788
  redirectURI
@@ -1637,7 +1802,6 @@ declare const socialProviders: {
1637
1802
  refreshToken: any;
1638
1803
  accessTokenExpiresAt: Date | undefined;
1639
1804
  }>);
1640
- verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
1641
1805
  getUserInfo(token: OAuth2Tokens & {
1642
1806
  user?: {
1643
1807
  name?: {
@@ -1683,6 +1847,7 @@ declare const socialProviders: {
1683
1847
  polar: (options: PolarOptions) => {
1684
1848
  id: "polar";
1685
1849
  name: string;
1850
+ callbackPath: string;
1686
1851
  createAuthorizationURL({
1687
1852
  state,
1688
1853
  scopes,
@@ -1697,7 +1862,10 @@ declare const socialProviders: {
1697
1862
  display?: string | undefined;
1698
1863
  loginHint?: string | undefined;
1699
1864
  additionalParams?: Record<string, string> | undefined;
1700
- }): Promise<URL>;
1865
+ }): Promise<{
1866
+ url: URL;
1867
+ requestedScopes: string[];
1868
+ }>;
1701
1869
  validateAuthorizationCode: ({
1702
1870
  code,
1703
1871
  codeVerifier,
@@ -1733,6 +1901,7 @@ declare const socialProviders: {
1733
1901
  railway: (options: RailwayOptions) => {
1734
1902
  id: "railway";
1735
1903
  name: string;
1904
+ callbackPath: string;
1736
1905
  createAuthorizationURL({
1737
1906
  state,
1738
1907
  scopes,
@@ -1747,7 +1916,10 @@ declare const socialProviders: {
1747
1916
  display?: string | undefined;
1748
1917
  loginHint?: string | undefined;
1749
1918
  additionalParams?: Record<string, string> | undefined;
1750
- }): Promise<URL>;
1919
+ }): Promise<{
1920
+ url: URL;
1921
+ requestedScopes: string[];
1922
+ }>;
1751
1923
  validateAuthorizationCode: ({
1752
1924
  code,
1753
1925
  codeVerifier,
@@ -1783,6 +1955,7 @@ declare const socialProviders: {
1783
1955
  vercel: (options: VercelOptions) => {
1784
1956
  id: "vercel";
1785
1957
  name: string;
1958
+ callbackPath: string;
1786
1959
  createAuthorizationURL({
1787
1960
  state,
1788
1961
  scopes,
@@ -1797,7 +1970,10 @@ declare const socialProviders: {
1797
1970
  display?: string | undefined;
1798
1971
  loginHint?: string | undefined;
1799
1972
  additionalParams?: Record<string, string> | undefined;
1800
- }): Promise<URL>;
1973
+ }): Promise<{
1974
+ url: URL;
1975
+ requestedScopes: string[];
1976
+ }>;
1801
1977
  validateAuthorizationCode: ({
1802
1978
  code,
1803
1979
  codeVerifier,
@@ -1832,6 +2008,7 @@ declare const socialProviders: {
1832
2008
  wechat: (options: WeChatOptions) => {
1833
2009
  id: "wechat";
1834
2010
  name: string;
2011
+ callbackPath: string;
1835
2012
  createAuthorizationURL({
1836
2013
  state,
1837
2014
  scopes,
@@ -1845,7 +2022,10 @@ declare const socialProviders: {
1845
2022
  display?: string | undefined;
1846
2023
  loginHint?: string | undefined;
1847
2024
  additionalParams?: Record<string, string> | undefined;
1848
- }): URL;
2025
+ }): {
2026
+ url: URL;
2027
+ requestedScopes: string[];
2028
+ };
1849
2029
  validateAuthorizationCode: ({
1850
2030
  code
1851
2031
  }: {