@better-auth/core 1.3.26 → 1.3.28
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/.turbo/turbo-build.log +60 -9
- package/build.config.ts +7 -0
- package/dist/db/adapter/index.cjs +2 -0
- package/dist/db/adapter/index.d.cts +14 -0
- package/dist/db/adapter/index.d.mts +14 -0
- package/dist/db/adapter/index.d.ts +14 -0
- package/dist/db/adapter/index.mjs +1 -0
- package/dist/db/index.cjs +89 -0
- package/dist/db/index.d.cts +16 -107
- package/dist/db/index.d.mts +16 -107
- package/dist/db/index.d.ts +16 -107
- package/dist/db/index.mjs +69 -0
- package/dist/env/index.cjs +312 -0
- package/dist/env/index.d.cts +36 -0
- package/dist/env/index.d.mts +36 -0
- package/dist/env/index.d.ts +36 -0
- package/dist/env/index.mjs +297 -0
- package/dist/error/index.cjs +44 -0
- package/dist/error/index.d.cts +33 -0
- package/dist/error/index.d.mts +33 -0
- package/dist/error/index.d.ts +33 -0
- package/dist/error/index.mjs +41 -0
- package/dist/index.d.cts +179 -1
- package/dist/index.d.mts +179 -1
- package/dist/index.d.ts +179 -1
- package/dist/middleware/index.cjs +25 -0
- package/dist/middleware/index.d.cts +14 -0
- package/dist/middleware/index.d.mts +14 -0
- package/dist/middleware/index.d.ts +14 -0
- package/dist/middleware/index.mjs +21 -0
- package/dist/oauth2/index.cjs +368 -0
- package/dist/oauth2/index.d.cts +100 -0
- package/dist/oauth2/index.d.mts +100 -0
- package/dist/oauth2/index.d.ts +100 -0
- package/dist/oauth2/index.mjs +357 -0
- package/dist/shared/core.BJPBStdk.d.ts +1693 -0
- package/dist/shared/core.Bl6TpxyD.d.mts +181 -0
- package/dist/shared/core.Bqe5IGAi.d.ts +13 -0
- package/dist/shared/core.BwoNUcJQ.d.cts +53 -0
- package/dist/shared/core.BwoNUcJQ.d.mts +53 -0
- package/dist/shared/core.BwoNUcJQ.d.ts +53 -0
- package/dist/shared/core.CajxAutx.d.cts +143 -0
- package/dist/shared/core.CajxAutx.d.mts +143 -0
- package/dist/shared/core.CajxAutx.d.ts +143 -0
- package/dist/shared/core.CkkLHQWc.d.mts +1693 -0
- package/dist/shared/core.DkdZ1o38.d.ts +181 -0
- package/dist/shared/core.Dl-70uns.d.cts +84 -0
- package/dist/shared/core.Dl-70uns.d.mts +84 -0
- package/dist/shared/core.Dl-70uns.d.ts +84 -0
- package/dist/shared/core.DyEdx0m7.d.cts +181 -0
- package/dist/shared/core.E9DfzGLz.d.mts +13 -0
- package/dist/shared/core.HqYn20Fi.d.cts +13 -0
- package/dist/shared/core.gYIBmdi1.d.cts +1693 -0
- package/dist/social-providers/index.cjs +2793 -0
- package/dist/social-providers/index.d.cts +3903 -0
- package/dist/social-providers/index.d.mts +3903 -0
- package/dist/social-providers/index.d.ts +3903 -0
- package/dist/social-providers/index.mjs +2743 -0
- package/dist/utils/index.cjs +7 -0
- package/dist/utils/index.d.cts +10 -0
- package/dist/utils/index.d.mts +10 -0
- package/dist/utils/index.d.ts +10 -0
- package/dist/utils/index.mjs +5 -0
- package/package.json +109 -2
- package/src/db/adapter/index.ts +448 -0
- package/src/db/index.ts +13 -0
- package/src/db/plugin.ts +11 -0
- package/src/db/schema/account.ts +34 -0
- package/src/db/schema/rate-limit.ts +21 -0
- package/src/db/schema/session.ts +17 -0
- package/src/db/schema/shared.ts +7 -0
- package/src/db/schema/user.ts +16 -0
- package/src/db/schema/verification.ts +15 -0
- package/src/db/type.ts +50 -0
- package/src/env/color-depth.ts +172 -0
- package/src/env/env-impl.ts +123 -0
- package/src/env/index.ts +23 -0
- package/src/env/logger.test.ts +33 -0
- package/src/env/logger.ts +145 -0
- package/src/error/codes.ts +31 -0
- package/src/error/index.ts +11 -0
- package/src/index.ts +1 -1
- package/src/middleware/index.ts +33 -0
- package/src/oauth2/client-credentials-token.ts +102 -0
- package/src/oauth2/create-authorization-url.ts +85 -0
- package/src/oauth2/index.ts +22 -0
- package/src/oauth2/oauth-provider.ts +194 -0
- package/src/oauth2/refresh-access-token.ts +124 -0
- package/src/oauth2/utils.ts +36 -0
- package/src/oauth2/validate-authorization-code.ts +156 -0
- package/src/social-providers/apple.ts +213 -0
- package/src/social-providers/atlassian.ts +130 -0
- package/src/social-providers/cognito.ts +269 -0
- package/src/social-providers/discord.ts +172 -0
- package/src/social-providers/dropbox.ts +112 -0
- package/src/social-providers/facebook.ts +204 -0
- package/src/social-providers/figma.ts +115 -0
- package/src/social-providers/github.ts +154 -0
- package/src/social-providers/gitlab.ts +152 -0
- package/src/social-providers/google.ts +171 -0
- package/src/social-providers/huggingface.ts +116 -0
- package/src/social-providers/index.ts +118 -0
- package/src/social-providers/kakao.ts +178 -0
- package/src/social-providers/kick.ts +95 -0
- package/src/social-providers/line.ts +169 -0
- package/src/social-providers/linear.ts +120 -0
- package/src/social-providers/linkedin.ts +110 -0
- package/src/social-providers/microsoft-entra-id.ts +243 -0
- package/src/social-providers/naver.ts +112 -0
- package/src/social-providers/notion.ts +106 -0
- package/src/social-providers/paypal.ts +261 -0
- package/src/social-providers/reddit.ts +122 -0
- package/src/social-providers/roblox.ts +110 -0
- package/src/social-providers/salesforce.ts +157 -0
- package/src/social-providers/slack.ts +114 -0
- package/src/social-providers/spotify.ts +93 -0
- package/src/social-providers/tiktok.ts +211 -0
- package/src/social-providers/twitch.ts +111 -0
- package/src/social-providers/twitter.ts +194 -0
- package/src/social-providers/vk.ts +128 -0
- package/src/social-providers/zoom.ts +218 -0
- package/src/types/context.ts +313 -0
- package/src/types/cookie.ts +7 -0
- package/src/types/helper.ts +5 -0
- package/src/types/index.ts +20 -1
- package/src/types/init-options.ts +1161 -0
- package/src/types/plugin-client.ts +69 -0
- package/src/types/plugin.ts +134 -0
- package/src/utils/error-codes.ts +51 -0
- package/src/utils/index.ts +1 -0
|
@@ -0,0 +1,3903 @@
|
|
|
1
|
+
import * as _better_auth_core_oauth2 from '@better-auth/core/oauth2';
|
|
2
|
+
import { ProviderOptions } from '@better-auth/core/oauth2';
|
|
3
|
+
import { O as OAuth2Tokens } from '../shared/core.Bl6TpxyD.mjs';
|
|
4
|
+
import * as z from 'zod';
|
|
5
|
+
import '../shared/core.CajxAutx.mjs';
|
|
6
|
+
|
|
7
|
+
interface PayPalProfile {
|
|
8
|
+
user_id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
given_name: string;
|
|
11
|
+
family_name: string;
|
|
12
|
+
middle_name?: string;
|
|
13
|
+
picture?: string;
|
|
14
|
+
email: string;
|
|
15
|
+
email_verified: boolean;
|
|
16
|
+
gender?: string;
|
|
17
|
+
birthdate?: string;
|
|
18
|
+
zoneinfo?: string;
|
|
19
|
+
locale?: string;
|
|
20
|
+
phone_number?: string;
|
|
21
|
+
address?: {
|
|
22
|
+
street_address?: string;
|
|
23
|
+
locality?: string;
|
|
24
|
+
region?: string;
|
|
25
|
+
postal_code?: string;
|
|
26
|
+
country?: string;
|
|
27
|
+
};
|
|
28
|
+
verified_account?: boolean;
|
|
29
|
+
account_type?: string;
|
|
30
|
+
age_range?: string;
|
|
31
|
+
payer_id?: string;
|
|
32
|
+
}
|
|
33
|
+
interface PayPalTokenResponse {
|
|
34
|
+
scope?: string;
|
|
35
|
+
access_token: string;
|
|
36
|
+
refresh_token?: string;
|
|
37
|
+
token_type: "Bearer";
|
|
38
|
+
id_token?: string;
|
|
39
|
+
expires_in: number;
|
|
40
|
+
nonce?: string;
|
|
41
|
+
}
|
|
42
|
+
interface PayPalOptions extends ProviderOptions<PayPalProfile> {
|
|
43
|
+
clientId: string;
|
|
44
|
+
/**
|
|
45
|
+
* PayPal environment - 'sandbox' for testing, 'live' for production
|
|
46
|
+
* @default 'sandbox'
|
|
47
|
+
*/
|
|
48
|
+
environment?: "sandbox" | "live";
|
|
49
|
+
/**
|
|
50
|
+
* Whether to request shipping address information
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
requestShippingAddress?: boolean;
|
|
54
|
+
}
|
|
55
|
+
declare const paypal: (options: PayPalOptions) => {
|
|
56
|
+
id: "paypal";
|
|
57
|
+
name: string;
|
|
58
|
+
createAuthorizationURL({ state, codeVerifier, redirectURI }: {
|
|
59
|
+
state: string;
|
|
60
|
+
codeVerifier: string;
|
|
61
|
+
scopes?: string[];
|
|
62
|
+
redirectURI: string;
|
|
63
|
+
display?: string;
|
|
64
|
+
loginHint?: string;
|
|
65
|
+
}): Promise<URL>;
|
|
66
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
67
|
+
code: string;
|
|
68
|
+
redirectURI: string;
|
|
69
|
+
codeVerifier?: string;
|
|
70
|
+
deviceId?: string;
|
|
71
|
+
}) => Promise<{
|
|
72
|
+
accessToken: string;
|
|
73
|
+
refreshToken: string | undefined;
|
|
74
|
+
accessTokenExpiresAt: Date | undefined;
|
|
75
|
+
idToken: string | undefined;
|
|
76
|
+
}>;
|
|
77
|
+
refreshAccessToken: ((refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>) | ((refreshToken: string) => Promise<{
|
|
78
|
+
accessToken: any;
|
|
79
|
+
refreshToken: any;
|
|
80
|
+
accessTokenExpiresAt: Date | undefined;
|
|
81
|
+
}>);
|
|
82
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
83
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
84
|
+
user?: {
|
|
85
|
+
name?: {
|
|
86
|
+
firstName?: string;
|
|
87
|
+
lastName?: string;
|
|
88
|
+
};
|
|
89
|
+
email?: string;
|
|
90
|
+
};
|
|
91
|
+
}): Promise<{
|
|
92
|
+
user: {
|
|
93
|
+
id: string;
|
|
94
|
+
name?: string;
|
|
95
|
+
email?: string | null;
|
|
96
|
+
image?: string;
|
|
97
|
+
emailVerified: boolean;
|
|
98
|
+
[key: string]: any;
|
|
99
|
+
};
|
|
100
|
+
data: any;
|
|
101
|
+
} | {
|
|
102
|
+
user: {
|
|
103
|
+
id: string;
|
|
104
|
+
name: string;
|
|
105
|
+
email: string;
|
|
106
|
+
image: string | undefined;
|
|
107
|
+
emailVerified: boolean;
|
|
108
|
+
} | {
|
|
109
|
+
id: string;
|
|
110
|
+
name: string;
|
|
111
|
+
email: string | null;
|
|
112
|
+
image: string;
|
|
113
|
+
emailVerified: boolean;
|
|
114
|
+
} | {
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
email: string | null;
|
|
118
|
+
image: string;
|
|
119
|
+
emailVerified: boolean;
|
|
120
|
+
};
|
|
121
|
+
data: PayPalProfile;
|
|
122
|
+
} | null>;
|
|
123
|
+
options: PayPalOptions;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
interface LineIdTokenPayload {
|
|
127
|
+
iss: string;
|
|
128
|
+
sub: string;
|
|
129
|
+
aud: string;
|
|
130
|
+
exp: number;
|
|
131
|
+
iat: number;
|
|
132
|
+
name?: string;
|
|
133
|
+
picture?: string;
|
|
134
|
+
email?: string;
|
|
135
|
+
amr?: string[];
|
|
136
|
+
nonce?: string;
|
|
137
|
+
}
|
|
138
|
+
interface LineUserInfo {
|
|
139
|
+
sub: string;
|
|
140
|
+
name?: string;
|
|
141
|
+
picture?: string;
|
|
142
|
+
email?: string;
|
|
143
|
+
}
|
|
144
|
+
interface LineOptions extends ProviderOptions<LineUserInfo | LineIdTokenPayload> {
|
|
145
|
+
clientId: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* LINE Login v2.1
|
|
149
|
+
* - Authorization endpoint: https://access.line.me/oauth2/v2.1/authorize
|
|
150
|
+
* - Token endpoint: https://api.line.me/oauth2/v2.1/token
|
|
151
|
+
* - UserInfo endpoint: https://api.line.me/oauth2/v2.1/userinfo
|
|
152
|
+
* - Verify ID token: https://api.line.me/oauth2/v2.1/verify
|
|
153
|
+
*
|
|
154
|
+
* Docs: https://developers.line.biz/en/reference/line-login/#issue-access-token
|
|
155
|
+
*/
|
|
156
|
+
declare const line: (options: LineOptions) => {
|
|
157
|
+
id: "line";
|
|
158
|
+
name: string;
|
|
159
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI, loginHint, }: {
|
|
160
|
+
state: string;
|
|
161
|
+
codeVerifier: string;
|
|
162
|
+
scopes?: string[];
|
|
163
|
+
redirectURI: string;
|
|
164
|
+
display?: string;
|
|
165
|
+
loginHint?: string;
|
|
166
|
+
}): Promise<URL>;
|
|
167
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
168
|
+
code: string;
|
|
169
|
+
redirectURI: string;
|
|
170
|
+
codeVerifier?: string;
|
|
171
|
+
deviceId?: string;
|
|
172
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
173
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
174
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
175
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
176
|
+
user?: {
|
|
177
|
+
name?: {
|
|
178
|
+
firstName?: string;
|
|
179
|
+
lastName?: string;
|
|
180
|
+
};
|
|
181
|
+
email?: string;
|
|
182
|
+
};
|
|
183
|
+
}): Promise<{
|
|
184
|
+
user: {
|
|
185
|
+
id: string;
|
|
186
|
+
name?: string;
|
|
187
|
+
email?: string | null;
|
|
188
|
+
image?: string;
|
|
189
|
+
emailVerified: boolean;
|
|
190
|
+
[key: string]: any;
|
|
191
|
+
};
|
|
192
|
+
data: any;
|
|
193
|
+
} | {
|
|
194
|
+
user: {
|
|
195
|
+
id: any;
|
|
196
|
+
name: any;
|
|
197
|
+
email: any;
|
|
198
|
+
image: any;
|
|
199
|
+
emailVerified: false;
|
|
200
|
+
} | {
|
|
201
|
+
id: any;
|
|
202
|
+
name: any;
|
|
203
|
+
email: any;
|
|
204
|
+
image: any;
|
|
205
|
+
emailVerified: boolean;
|
|
206
|
+
} | {
|
|
207
|
+
id: any;
|
|
208
|
+
name: any;
|
|
209
|
+
email: any;
|
|
210
|
+
image: any;
|
|
211
|
+
emailVerified: boolean;
|
|
212
|
+
};
|
|
213
|
+
data: any;
|
|
214
|
+
} | null>;
|
|
215
|
+
options: LineOptions;
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
interface NaverProfile {
|
|
219
|
+
/** API response result code */
|
|
220
|
+
resultcode: string;
|
|
221
|
+
/** API response message */
|
|
222
|
+
message: string;
|
|
223
|
+
response: {
|
|
224
|
+
/** Unique Naver user identifier */
|
|
225
|
+
id: string;
|
|
226
|
+
/** User nickname */
|
|
227
|
+
nickname: string;
|
|
228
|
+
/** User real name */
|
|
229
|
+
name: string;
|
|
230
|
+
/** User email address */
|
|
231
|
+
email: string;
|
|
232
|
+
/** Gender (F: female, M: male, U: unknown) */
|
|
233
|
+
gender: string;
|
|
234
|
+
/** Age range */
|
|
235
|
+
age: string;
|
|
236
|
+
/** Birthday (MM-DD format) */
|
|
237
|
+
birthday: string;
|
|
238
|
+
/** Birth year */
|
|
239
|
+
birthyear: string;
|
|
240
|
+
/** Profile image URL */
|
|
241
|
+
profile_image: string;
|
|
242
|
+
/** Mobile phone number */
|
|
243
|
+
mobile: string;
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
interface NaverOptions extends ProviderOptions<NaverProfile> {
|
|
247
|
+
clientId: string;
|
|
248
|
+
}
|
|
249
|
+
declare const naver: (options: NaverOptions) => {
|
|
250
|
+
id: "naver";
|
|
251
|
+
name: string;
|
|
252
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
253
|
+
state: string;
|
|
254
|
+
codeVerifier: string;
|
|
255
|
+
scopes?: string[];
|
|
256
|
+
redirectURI: string;
|
|
257
|
+
display?: string;
|
|
258
|
+
loginHint?: string;
|
|
259
|
+
}): Promise<URL>;
|
|
260
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
261
|
+
code: string;
|
|
262
|
+
redirectURI: string;
|
|
263
|
+
codeVerifier?: string;
|
|
264
|
+
deviceId?: string;
|
|
265
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
266
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
267
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
268
|
+
user?: {
|
|
269
|
+
name?: {
|
|
270
|
+
firstName?: string;
|
|
271
|
+
lastName?: string;
|
|
272
|
+
};
|
|
273
|
+
email?: string;
|
|
274
|
+
};
|
|
275
|
+
}): Promise<{
|
|
276
|
+
user: {
|
|
277
|
+
id: string;
|
|
278
|
+
name?: string;
|
|
279
|
+
email?: string | null;
|
|
280
|
+
image?: string;
|
|
281
|
+
emailVerified: boolean;
|
|
282
|
+
[key: string]: any;
|
|
283
|
+
};
|
|
284
|
+
data: any;
|
|
285
|
+
} | {
|
|
286
|
+
user: {
|
|
287
|
+
id: string;
|
|
288
|
+
name: string;
|
|
289
|
+
email: string;
|
|
290
|
+
image: string;
|
|
291
|
+
emailVerified: boolean;
|
|
292
|
+
} | {
|
|
293
|
+
id: string;
|
|
294
|
+
name: string;
|
|
295
|
+
email: string | null;
|
|
296
|
+
image: string;
|
|
297
|
+
emailVerified: boolean;
|
|
298
|
+
} | {
|
|
299
|
+
id: string;
|
|
300
|
+
name: string;
|
|
301
|
+
email: string | null;
|
|
302
|
+
image: string;
|
|
303
|
+
emailVerified: boolean;
|
|
304
|
+
};
|
|
305
|
+
data: NaverProfile;
|
|
306
|
+
} | null>;
|
|
307
|
+
options: NaverOptions;
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
interface Partner {
|
|
311
|
+
/** Partner-specific ID (consent required: kakaotalk_message) */
|
|
312
|
+
uuid?: string;
|
|
313
|
+
}
|
|
314
|
+
interface Profile {
|
|
315
|
+
/** Nickname (consent required: profile/nickname) */
|
|
316
|
+
nickname?: string;
|
|
317
|
+
/** Thumbnail image URL (consent required: profile/profile image) */
|
|
318
|
+
thumbnail_image_url?: string;
|
|
319
|
+
/** Profile image URL (consent required: profile/profile image) */
|
|
320
|
+
profile_image_url?: string;
|
|
321
|
+
/** Whether the profile image is the default */
|
|
322
|
+
is_default_image?: boolean;
|
|
323
|
+
/** Whether the nickname is the default */
|
|
324
|
+
is_default_nickname?: boolean;
|
|
325
|
+
}
|
|
326
|
+
interface KakaoAccount {
|
|
327
|
+
/** Consent required: profile info (nickname/profile image) */
|
|
328
|
+
profile_needs_agreement?: boolean;
|
|
329
|
+
/** Consent required: nickname */
|
|
330
|
+
profile_nickname_needs_agreement?: boolean;
|
|
331
|
+
/** Consent required: profile image */
|
|
332
|
+
profile_image_needs_agreement?: boolean;
|
|
333
|
+
/** Profile info */
|
|
334
|
+
profile?: Profile;
|
|
335
|
+
/** Consent required: name */
|
|
336
|
+
name_needs_agreement?: boolean;
|
|
337
|
+
/** Name */
|
|
338
|
+
name?: string;
|
|
339
|
+
/** Consent required: email */
|
|
340
|
+
email_needs_agreement?: boolean;
|
|
341
|
+
/** Email valid */
|
|
342
|
+
is_email_valid?: boolean;
|
|
343
|
+
/** Email verified */
|
|
344
|
+
is_email_verified?: boolean;
|
|
345
|
+
/** Email */
|
|
346
|
+
email?: string;
|
|
347
|
+
/** Consent required: age range */
|
|
348
|
+
age_range_needs_agreement?: boolean;
|
|
349
|
+
/** Age range */
|
|
350
|
+
age_range?: string;
|
|
351
|
+
/** Consent required: birth year */
|
|
352
|
+
birthyear_needs_agreement?: boolean;
|
|
353
|
+
/** Birth year (YYYY) */
|
|
354
|
+
birthyear?: string;
|
|
355
|
+
/** Consent required: birthday */
|
|
356
|
+
birthday_needs_agreement?: boolean;
|
|
357
|
+
/** Birthday (MMDD) */
|
|
358
|
+
birthday?: string;
|
|
359
|
+
/** Birthday type (SOLAR/LUNAR) */
|
|
360
|
+
birthday_type?: string;
|
|
361
|
+
/** Whether birthday is in a leap month */
|
|
362
|
+
is_leap_month?: boolean;
|
|
363
|
+
/** Consent required: gender */
|
|
364
|
+
gender_needs_agreement?: boolean;
|
|
365
|
+
/** Gender (male/female) */
|
|
366
|
+
gender?: string;
|
|
367
|
+
/** Consent required: phone number */
|
|
368
|
+
phone_number_needs_agreement?: boolean;
|
|
369
|
+
/** Phone number */
|
|
370
|
+
phone_number?: string;
|
|
371
|
+
/** Consent required: CI */
|
|
372
|
+
ci_needs_agreement?: boolean;
|
|
373
|
+
/** CI (unique identifier) */
|
|
374
|
+
ci?: string;
|
|
375
|
+
/** CI authentication time (UTC) */
|
|
376
|
+
ci_authenticated_at?: string;
|
|
377
|
+
}
|
|
378
|
+
interface KakaoProfile {
|
|
379
|
+
/** Kakao user ID */
|
|
380
|
+
id: number;
|
|
381
|
+
/**
|
|
382
|
+
* Whether the user has signed up (only present if auto-connection is disabled)
|
|
383
|
+
* false: preregistered, true: registered
|
|
384
|
+
*/
|
|
385
|
+
has_signed_up?: boolean;
|
|
386
|
+
/** UTC datetime when the user connected the service */
|
|
387
|
+
connected_at?: string;
|
|
388
|
+
/** UTC datetime when the user signed up via Kakao Sync */
|
|
389
|
+
synched_at?: string;
|
|
390
|
+
/** Custom user properties */
|
|
391
|
+
properties?: Record<string, any>;
|
|
392
|
+
/** Kakao account info */
|
|
393
|
+
kakao_account: KakaoAccount;
|
|
394
|
+
/** Partner info */
|
|
395
|
+
for_partner?: Partner;
|
|
396
|
+
}
|
|
397
|
+
interface KakaoOptions extends ProviderOptions<KakaoProfile> {
|
|
398
|
+
clientId: string;
|
|
399
|
+
}
|
|
400
|
+
declare const kakao: (options: KakaoOptions) => {
|
|
401
|
+
id: "kakao";
|
|
402
|
+
name: string;
|
|
403
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
404
|
+
state: string;
|
|
405
|
+
codeVerifier: string;
|
|
406
|
+
scopes?: string[];
|
|
407
|
+
redirectURI: string;
|
|
408
|
+
display?: string;
|
|
409
|
+
loginHint?: string;
|
|
410
|
+
}): Promise<URL>;
|
|
411
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
412
|
+
code: string;
|
|
413
|
+
redirectURI: string;
|
|
414
|
+
codeVerifier?: string;
|
|
415
|
+
deviceId?: string;
|
|
416
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
417
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
418
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
419
|
+
user?: {
|
|
420
|
+
name?: {
|
|
421
|
+
firstName?: string;
|
|
422
|
+
lastName? /** Consent required: name */: string;
|
|
423
|
+
};
|
|
424
|
+
email?: string;
|
|
425
|
+
};
|
|
426
|
+
}): Promise<{
|
|
427
|
+
user: {
|
|
428
|
+
id: string;
|
|
429
|
+
name?: string;
|
|
430
|
+
email?: string | null;
|
|
431
|
+
image?: string;
|
|
432
|
+
emailVerified: boolean;
|
|
433
|
+
[key: string]: any;
|
|
434
|
+
};
|
|
435
|
+
data: any;
|
|
436
|
+
} | {
|
|
437
|
+
user: {
|
|
438
|
+
id: string;
|
|
439
|
+
name: string | undefined;
|
|
440
|
+
email: string | undefined;
|
|
441
|
+
image: string | undefined;
|
|
442
|
+
emailVerified: boolean;
|
|
443
|
+
} | {
|
|
444
|
+
id: string;
|
|
445
|
+
name: string;
|
|
446
|
+
email: string | null;
|
|
447
|
+
image: string;
|
|
448
|
+
emailVerified: boolean;
|
|
449
|
+
} | {
|
|
450
|
+
id: string;
|
|
451
|
+
name: string;
|
|
452
|
+
email: string | null;
|
|
453
|
+
image: string;
|
|
454
|
+
emailVerified: boolean;
|
|
455
|
+
};
|
|
456
|
+
data: KakaoProfile;
|
|
457
|
+
} | null>;
|
|
458
|
+
options: KakaoOptions;
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
interface NotionProfile {
|
|
462
|
+
object: "user";
|
|
463
|
+
id: string;
|
|
464
|
+
type: "person" | "bot";
|
|
465
|
+
name?: string;
|
|
466
|
+
avatar_url?: string;
|
|
467
|
+
person?: {
|
|
468
|
+
email?: string;
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
interface NotionOptions extends ProviderOptions<NotionProfile> {
|
|
472
|
+
clientId: string;
|
|
473
|
+
}
|
|
474
|
+
declare const notion: (options: NotionOptions) => {
|
|
475
|
+
id: "notion";
|
|
476
|
+
name: string;
|
|
477
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
478
|
+
state: string;
|
|
479
|
+
codeVerifier: string;
|
|
480
|
+
scopes?: string[];
|
|
481
|
+
redirectURI: string;
|
|
482
|
+
display?: string;
|
|
483
|
+
loginHint?: string;
|
|
484
|
+
}): Promise<URL>;
|
|
485
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
486
|
+
code: string;
|
|
487
|
+
redirectURI: string;
|
|
488
|
+
codeVerifier?: string;
|
|
489
|
+
deviceId?: string;
|
|
490
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
491
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
492
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
493
|
+
user?: {
|
|
494
|
+
name?: {
|
|
495
|
+
firstName?: string;
|
|
496
|
+
lastName?: string;
|
|
497
|
+
};
|
|
498
|
+
email?: string;
|
|
499
|
+
};
|
|
500
|
+
}): Promise<{
|
|
501
|
+
user: {
|
|
502
|
+
id: string;
|
|
503
|
+
name?: string;
|
|
504
|
+
email?: string | null;
|
|
505
|
+
image?: string;
|
|
506
|
+
emailVerified: boolean;
|
|
507
|
+
[key: string]: any;
|
|
508
|
+
};
|
|
509
|
+
data: any;
|
|
510
|
+
} | null>;
|
|
511
|
+
options: NotionOptions;
|
|
512
|
+
};
|
|
513
|
+
|
|
514
|
+
type LoginType = 0 /** Facebook OAuth */ | 1 /** Google OAuth */ | 24 /** Apple OAuth */ | 27 /** Microsoft OAuth */ | 97 /** Mobile device */ | 98 /** RingCentral OAuth */ | 99 /** API user */ | 100 /** Zoom Work email */ | 101; /** Single Sign-On (SSO) */
|
|
515
|
+
type AccountStatus = "pending" | "active" | "inactive";
|
|
516
|
+
type PronounOption = 1 /** Ask the user every time */ | 2 /** Always display */ | 3; /** Do not display */
|
|
517
|
+
interface PhoneNumber {
|
|
518
|
+
/** The country code of the phone number (Example: "+1") */
|
|
519
|
+
code: string;
|
|
520
|
+
/** The country of the phone number (Example: "US") */
|
|
521
|
+
country: string;
|
|
522
|
+
/** The label for the phone number (Example: "Mobile") */
|
|
523
|
+
label: string;
|
|
524
|
+
/** The phone number itself (Example: "800000000") */
|
|
525
|
+
number: string;
|
|
526
|
+
/** Whether the phone number has been verified (Example: true) */
|
|
527
|
+
verified: boolean;
|
|
528
|
+
}
|
|
529
|
+
/**
|
|
530
|
+
* See the full documentation below:
|
|
531
|
+
* https://developers.zoom.us/docs/api/users/#tag/users/GET/users/{userId}
|
|
532
|
+
*/
|
|
533
|
+
interface ZoomProfile extends Record<string, any> {
|
|
534
|
+
/** The user's account ID (Example: "q6gBJVO5TzexKYTb_I2rpg") */
|
|
535
|
+
account_id: string;
|
|
536
|
+
/** The user's account number (Example: 10009239) */
|
|
537
|
+
account_number: number;
|
|
538
|
+
/** The user's cluster (Example: "us04") */
|
|
539
|
+
cluster: string;
|
|
540
|
+
/** The user's CMS ID. Only enabled for Kaltura integration (Example: "KDcuGIm1QgePTO8WbOqwIQ") */
|
|
541
|
+
cms_user_id: string;
|
|
542
|
+
/** The user's cost center (Example: "cost center") */
|
|
543
|
+
cost_center: string;
|
|
544
|
+
/** User create time (Example: "2018-10-31T04:32:37Z") */
|
|
545
|
+
created_at: string;
|
|
546
|
+
/** Department (Example: "Developers") */
|
|
547
|
+
dept: string;
|
|
548
|
+
/** User's display name (Example: "Jill Chill") */
|
|
549
|
+
display_name: string;
|
|
550
|
+
/** User's email address (Example: "jchill@example.com") */
|
|
551
|
+
email: string;
|
|
552
|
+
/** User's first name (Example: "Jill") */
|
|
553
|
+
first_name: string;
|
|
554
|
+
/** IDs of the web groups that the user belongs to (Example: ["RSMaSp8sTEGK0_oamiA2_w"]) */
|
|
555
|
+
group_ids: string[];
|
|
556
|
+
/** User ID (Example: "zJKyaiAyTNC-MWjiWC18KQ") */
|
|
557
|
+
id: string;
|
|
558
|
+
/** IM IDs of the groups that the user belongs to (Example: ["t-_-d56CSWG-7BF15LLrOw"]) */
|
|
559
|
+
im_group_ids: string[];
|
|
560
|
+
/** The user's JID (Example: "jchill@example.com") */
|
|
561
|
+
jid: string;
|
|
562
|
+
/** The user's job title (Example: "API Developer") */
|
|
563
|
+
job_title: string;
|
|
564
|
+
/** Default language for the Zoom Web Portal (Example: "en-US") */
|
|
565
|
+
language: string;
|
|
566
|
+
/** User last login client version (Example: "5.9.6.4993(mac)") */
|
|
567
|
+
last_client_version: string;
|
|
568
|
+
/** User last login time (Example: "2021-05-05T20:40:30Z") */
|
|
569
|
+
last_login_time: string;
|
|
570
|
+
/** User's last name (Example: "Chill") */
|
|
571
|
+
last_name: string;
|
|
572
|
+
/** The time zone of the user (Example: "Asia/Shanghai") */
|
|
573
|
+
timezone: string;
|
|
574
|
+
/** User's location (Example: "Paris") */
|
|
575
|
+
location: string;
|
|
576
|
+
/** The user's login method (Example: 101) */
|
|
577
|
+
login_types: LoginType[];
|
|
578
|
+
/** User's personal meeting URL (Example: "example.com") */
|
|
579
|
+
personal_meeting_url: string;
|
|
580
|
+
/** This field has been deprecated and will not be supported in the future.
|
|
581
|
+
* Use the phone_numbers field instead of this field.
|
|
582
|
+
* The user's phone number (Example: "+1 800000000") */
|
|
583
|
+
phone_number?: string;
|
|
584
|
+
/** The URL for user's profile picture (Example: "example.com") */
|
|
585
|
+
pic_url: string;
|
|
586
|
+
/** Personal Meeting ID (PMI) (Example: 3542471135) */
|
|
587
|
+
pmi: number;
|
|
588
|
+
/** Unique identifier of the user's assigned role (Example: "0") */
|
|
589
|
+
role_id: string;
|
|
590
|
+
/** User's role name (Example: "Admin") */
|
|
591
|
+
role_name: string;
|
|
592
|
+
/** Status of user's account (Example: "pending") */
|
|
593
|
+
status: AccountStatus;
|
|
594
|
+
/** Use the personal meeting ID (PMI) for instant meetings (Example: false) */
|
|
595
|
+
use_pmi: boolean;
|
|
596
|
+
/** The time and date when the user was created (Example: "2018-10-31T04:32:37Z") */
|
|
597
|
+
user_created_at: string;
|
|
598
|
+
/** Displays whether user is verified or not (Example: 1) */
|
|
599
|
+
verified: number;
|
|
600
|
+
/** The user's Zoom Workplace plan option (Example: 64) */
|
|
601
|
+
zoom_one_type: number;
|
|
602
|
+
/** The user's company (Example: "Jill") */
|
|
603
|
+
company?: string;
|
|
604
|
+
/** Custom attributes that have been assigned to the user (Example: [{ "key": "cbf_cywdkexrtqc73f97gd4w6g", "name": "A1", "value": "1" }]) */
|
|
605
|
+
custom_attributes?: {
|
|
606
|
+
key: string;
|
|
607
|
+
name: string;
|
|
608
|
+
value: string;
|
|
609
|
+
}[];
|
|
610
|
+
/** The employee's unique ID. This field only returns when SAML single sign-on (SSO) is enabled.
|
|
611
|
+
* The `login_type` value is `101` (SSO) (Example: "HqDyI037Qjili1kNsSIrIg") */
|
|
612
|
+
employee_unique_id?: string;
|
|
613
|
+
/** The manager for the user (Example: "thill@example.com") */
|
|
614
|
+
manager?: string;
|
|
615
|
+
/** The user's country for the company phone number (Example: "US")
|
|
616
|
+
* @deprecated true */
|
|
617
|
+
phone_country?: string;
|
|
618
|
+
/** The phone number's ISO country code (Example: "+1") */
|
|
619
|
+
phone_numbers?: PhoneNumber[];
|
|
620
|
+
/** The user's plan type (Example: "1") */
|
|
621
|
+
plan_united_type?: string;
|
|
622
|
+
/** The user's pronouns (Example: "3123") */
|
|
623
|
+
pronouns?: string;
|
|
624
|
+
/** The user's display pronouns setting (Example: 1) */
|
|
625
|
+
pronouns_option?: PronounOption;
|
|
626
|
+
/** Personal meeting room URL, if the user has one (Example: "example.com") */
|
|
627
|
+
vanity_url?: string;
|
|
628
|
+
}
|
|
629
|
+
interface ZoomOptions extends ProviderOptions<ZoomProfile> {
|
|
630
|
+
clientId: string;
|
|
631
|
+
pkce?: boolean;
|
|
632
|
+
}
|
|
633
|
+
declare const zoom: (userOptions: ZoomOptions) => {
|
|
634
|
+
id: "zoom";
|
|
635
|
+
name: string;
|
|
636
|
+
createAuthorizationURL: ({ state, redirectURI, codeVerifier }: {
|
|
637
|
+
state: string;
|
|
638
|
+
codeVerifier: string;
|
|
639
|
+
scopes?: string[];
|
|
640
|
+
redirectURI: string;
|
|
641
|
+
display?: string;
|
|
642
|
+
loginHint?: string;
|
|
643
|
+
}) => Promise<URL>;
|
|
644
|
+
validateAuthorizationCode: ({ code, redirectURI, codeVerifier }: {
|
|
645
|
+
code: string;
|
|
646
|
+
redirectURI: string;
|
|
647
|
+
codeVerifier?: string;
|
|
648
|
+
deviceId?: string;
|
|
649
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
650
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
651
|
+
user?: {
|
|
652
|
+
name?: {
|
|
653
|
+
firstName?: string;
|
|
654
|
+
lastName?: string;
|
|
655
|
+
};
|
|
656
|
+
email?: string;
|
|
657
|
+
};
|
|
658
|
+
}): Promise<{
|
|
659
|
+
user: {
|
|
660
|
+
id: string;
|
|
661
|
+
name?: string;
|
|
662
|
+
email?: string | null;
|
|
663
|
+
image?: string;
|
|
664
|
+
emailVerified: boolean;
|
|
665
|
+
[key: string]: any;
|
|
666
|
+
};
|
|
667
|
+
data: any;
|
|
668
|
+
} | null>;
|
|
669
|
+
};
|
|
670
|
+
|
|
671
|
+
interface VkProfile {
|
|
672
|
+
user: {
|
|
673
|
+
user_id: string;
|
|
674
|
+
first_name: string;
|
|
675
|
+
last_name: string;
|
|
676
|
+
email?: string;
|
|
677
|
+
phone?: number;
|
|
678
|
+
avatar?: string;
|
|
679
|
+
sex?: number;
|
|
680
|
+
verified?: boolean;
|
|
681
|
+
birthday: string;
|
|
682
|
+
};
|
|
683
|
+
}
|
|
684
|
+
interface VkOption extends ProviderOptions {
|
|
685
|
+
clientId: string;
|
|
686
|
+
scheme?: "light" | "dark";
|
|
687
|
+
}
|
|
688
|
+
declare const vk: (options: VkOption) => {
|
|
689
|
+
id: "vk";
|
|
690
|
+
name: string;
|
|
691
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
692
|
+
state: string;
|
|
693
|
+
codeVerifier: string;
|
|
694
|
+
scopes?: string[];
|
|
695
|
+
redirectURI: string;
|
|
696
|
+
display?: string;
|
|
697
|
+
loginHint?: string;
|
|
698
|
+
}): Promise<URL>;
|
|
699
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI, deviceId, }: {
|
|
700
|
+
code: string;
|
|
701
|
+
redirectURI: string;
|
|
702
|
+
codeVerifier?: string;
|
|
703
|
+
deviceId?: string;
|
|
704
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
705
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
706
|
+
getUserInfo(data: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
707
|
+
user?: {
|
|
708
|
+
name?: {
|
|
709
|
+
firstName?: string;
|
|
710
|
+
lastName?: string;
|
|
711
|
+
};
|
|
712
|
+
email?: string;
|
|
713
|
+
};
|
|
714
|
+
}): Promise<{
|
|
715
|
+
user: {
|
|
716
|
+
id: string;
|
|
717
|
+
name?: string;
|
|
718
|
+
email?: string | null;
|
|
719
|
+
image?: string;
|
|
720
|
+
emailVerified: boolean;
|
|
721
|
+
[key: string]: any;
|
|
722
|
+
};
|
|
723
|
+
data: any;
|
|
724
|
+
} | null>;
|
|
725
|
+
options: VkOption;
|
|
726
|
+
};
|
|
727
|
+
|
|
728
|
+
interface SalesforceProfile {
|
|
729
|
+
sub: string;
|
|
730
|
+
user_id: string;
|
|
731
|
+
organization_id: string;
|
|
732
|
+
preferred_username?: string;
|
|
733
|
+
email: string;
|
|
734
|
+
email_verified?: boolean;
|
|
735
|
+
name: string;
|
|
736
|
+
given_name?: string;
|
|
737
|
+
family_name?: string;
|
|
738
|
+
zoneinfo?: string;
|
|
739
|
+
photos?: {
|
|
740
|
+
picture?: string;
|
|
741
|
+
thumbnail?: string;
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
interface SalesforceOptions extends ProviderOptions<SalesforceProfile> {
|
|
745
|
+
clientId: string;
|
|
746
|
+
environment?: "sandbox" | "production";
|
|
747
|
+
loginUrl?: string;
|
|
748
|
+
/**
|
|
749
|
+
* Override the redirect URI if auto-detection fails.
|
|
750
|
+
* Should match the Callback URL configured in your Salesforce Connected App.
|
|
751
|
+
* @example "http://localhost:3000/api/auth/callback/salesforce"
|
|
752
|
+
*/
|
|
753
|
+
redirectURI?: string;
|
|
754
|
+
}
|
|
755
|
+
declare const salesforce: (options: SalesforceOptions) => {
|
|
756
|
+
id: "salesforce";
|
|
757
|
+
name: string;
|
|
758
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
759
|
+
state: string;
|
|
760
|
+
codeVerifier: string;
|
|
761
|
+
scopes?: string[];
|
|
762
|
+
redirectURI: string;
|
|
763
|
+
display?: string;
|
|
764
|
+
loginHint?: string;
|
|
765
|
+
}): Promise<URL>;
|
|
766
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
767
|
+
code: string;
|
|
768
|
+
redirectURI: string;
|
|
769
|
+
codeVerifier?: string;
|
|
770
|
+
deviceId?: string;
|
|
771
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
772
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
773
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
774
|
+
user?: {
|
|
775
|
+
name?: {
|
|
776
|
+
firstName?: string;
|
|
777
|
+
lastName?: string;
|
|
778
|
+
};
|
|
779
|
+
email?: string;
|
|
780
|
+
};
|
|
781
|
+
}): Promise<{
|
|
782
|
+
user: {
|
|
783
|
+
id: string;
|
|
784
|
+
name?: string;
|
|
785
|
+
email?: string | null;
|
|
786
|
+
image?: string;
|
|
787
|
+
emailVerified: boolean;
|
|
788
|
+
[key: string]: any;
|
|
789
|
+
};
|
|
790
|
+
data: any;
|
|
791
|
+
} | null>;
|
|
792
|
+
options: SalesforceOptions;
|
|
793
|
+
};
|
|
794
|
+
|
|
795
|
+
interface RobloxProfile extends Record<string, any> {
|
|
796
|
+
/** the user's id */
|
|
797
|
+
sub: string;
|
|
798
|
+
/** the user's username */
|
|
799
|
+
preferred_username: string;
|
|
800
|
+
/** the user's display name, will return the same value as the preferred_username if not set */
|
|
801
|
+
nickname: string;
|
|
802
|
+
/** the user's display name, again, will return the same value as the preferred_username if not set */
|
|
803
|
+
name: string;
|
|
804
|
+
/** the account creation date as a unix timestamp in seconds */
|
|
805
|
+
created_at: number;
|
|
806
|
+
/** the user's profile URL */
|
|
807
|
+
profile: string;
|
|
808
|
+
/** the user's avatar URL */
|
|
809
|
+
picture: string;
|
|
810
|
+
}
|
|
811
|
+
interface RobloxOptions extends ProviderOptions<RobloxProfile> {
|
|
812
|
+
clientId: string;
|
|
813
|
+
prompt?: "none" | "consent" | "login" | "select_account" | "select_account consent";
|
|
814
|
+
}
|
|
815
|
+
declare const roblox: (options: RobloxOptions) => {
|
|
816
|
+
id: "roblox";
|
|
817
|
+
name: string;
|
|
818
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
819
|
+
state: string;
|
|
820
|
+
codeVerifier: string;
|
|
821
|
+
scopes?: string[];
|
|
822
|
+
redirectURI: string;
|
|
823
|
+
display?: string;
|
|
824
|
+
loginHint?: string;
|
|
825
|
+
}): URL;
|
|
826
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
827
|
+
code: string;
|
|
828
|
+
redirectURI: string;
|
|
829
|
+
codeVerifier?: string;
|
|
830
|
+
deviceId?: string;
|
|
831
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
832
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
833
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
834
|
+
user?: {
|
|
835
|
+
name?: {
|
|
836
|
+
firstName?: string;
|
|
837
|
+
lastName?: string;
|
|
838
|
+
};
|
|
839
|
+
email?: string;
|
|
840
|
+
};
|
|
841
|
+
}): Promise<{
|
|
842
|
+
user: {
|
|
843
|
+
id: string;
|
|
844
|
+
name?: string;
|
|
845
|
+
email?: string | null;
|
|
846
|
+
image?: string;
|
|
847
|
+
emailVerified: boolean;
|
|
848
|
+
[key: string]: any;
|
|
849
|
+
};
|
|
850
|
+
data: any;
|
|
851
|
+
} | null>;
|
|
852
|
+
options: RobloxOptions;
|
|
853
|
+
};
|
|
854
|
+
|
|
855
|
+
interface RedditProfile {
|
|
856
|
+
id: string;
|
|
857
|
+
name: string;
|
|
858
|
+
icon_img: string | null;
|
|
859
|
+
has_verified_email: boolean;
|
|
860
|
+
oauth_client_id: string;
|
|
861
|
+
verified: boolean;
|
|
862
|
+
}
|
|
863
|
+
interface RedditOptions extends ProviderOptions<RedditProfile> {
|
|
864
|
+
clientId: string;
|
|
865
|
+
duration?: string;
|
|
866
|
+
}
|
|
867
|
+
declare const reddit: (options: RedditOptions) => {
|
|
868
|
+
id: "reddit";
|
|
869
|
+
name: string;
|
|
870
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
871
|
+
state: string;
|
|
872
|
+
codeVerifier: string;
|
|
873
|
+
scopes?: string[];
|
|
874
|
+
redirectURI: string;
|
|
875
|
+
display?: string;
|
|
876
|
+
loginHint?: string;
|
|
877
|
+
}): Promise<URL>;
|
|
878
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
879
|
+
code: string;
|
|
880
|
+
redirectURI: string;
|
|
881
|
+
codeVerifier?: string;
|
|
882
|
+
deviceId?: string;
|
|
883
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
884
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
885
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
886
|
+
user?: {
|
|
887
|
+
name?: {
|
|
888
|
+
firstName?: string;
|
|
889
|
+
lastName?: string;
|
|
890
|
+
};
|
|
891
|
+
email?: string;
|
|
892
|
+
};
|
|
893
|
+
}): Promise<{
|
|
894
|
+
user: {
|
|
895
|
+
id: string;
|
|
896
|
+
name?: string;
|
|
897
|
+
email?: string | null;
|
|
898
|
+
image?: string;
|
|
899
|
+
emailVerified: boolean;
|
|
900
|
+
[key: string]: any;
|
|
901
|
+
};
|
|
902
|
+
data: any;
|
|
903
|
+
} | null>;
|
|
904
|
+
options: RedditOptions;
|
|
905
|
+
};
|
|
906
|
+
|
|
907
|
+
/**
|
|
908
|
+
* [More info](https://developers.tiktok.com/doc/tiktok-api-v2-get-user-info/)
|
|
909
|
+
*/
|
|
910
|
+
interface TiktokProfile extends Record<string, any> {
|
|
911
|
+
data: {
|
|
912
|
+
user: {
|
|
913
|
+
/**
|
|
914
|
+
* The unique identification of the user in the current application.Open id
|
|
915
|
+
* for the client.
|
|
916
|
+
*
|
|
917
|
+
* To return this field, add `fields=open_id` in the user profile request's query parameter.
|
|
918
|
+
*/
|
|
919
|
+
open_id: string;
|
|
920
|
+
/**
|
|
921
|
+
* The unique identification of the user across different apps for the same developer.
|
|
922
|
+
* For example, if a partner has X number of clients,
|
|
923
|
+
* it will get X number of open_id for the same TikTok user,
|
|
924
|
+
* but one persistent union_id for the particular user.
|
|
925
|
+
*
|
|
926
|
+
* To return this field, add `fields=union_id` in the user profile request's query parameter.
|
|
927
|
+
*/
|
|
928
|
+
union_id?: string;
|
|
929
|
+
/**
|
|
930
|
+
* User's profile image.
|
|
931
|
+
*
|
|
932
|
+
* To return this field, add `fields=avatar_url` in the user profile request's query parameter.
|
|
933
|
+
*/
|
|
934
|
+
avatar_url?: string;
|
|
935
|
+
/**
|
|
936
|
+
* User`s profile image in 100x100 size.
|
|
937
|
+
*
|
|
938
|
+
* To return this field, add `fields=avatar_url_100` in the user profile request's query parameter.
|
|
939
|
+
*/
|
|
940
|
+
avatar_url_100?: string;
|
|
941
|
+
/**
|
|
942
|
+
* User's profile image with higher resolution
|
|
943
|
+
*
|
|
944
|
+
* To return this field, add `fields=avatar_url_100` in the user profile request's query parameter.
|
|
945
|
+
*/
|
|
946
|
+
avatar_large_url: string;
|
|
947
|
+
/**
|
|
948
|
+
* User's profile name
|
|
949
|
+
*
|
|
950
|
+
* To return this field, add `fields=display_name` in the user profile request's query parameter.
|
|
951
|
+
*/
|
|
952
|
+
display_name: string;
|
|
953
|
+
/**
|
|
954
|
+
* User's username.
|
|
955
|
+
*
|
|
956
|
+
* To return this field, add `fields=username` in the user profile request's query parameter.
|
|
957
|
+
*/
|
|
958
|
+
username: string;
|
|
959
|
+
/** @note Email is currently unsupported by TikTok */
|
|
960
|
+
email?: string;
|
|
961
|
+
/**
|
|
962
|
+
* User's bio description if there is a valid one.
|
|
963
|
+
*
|
|
964
|
+
* To return this field, add `fields=bio_description` in the user profile request's query parameter.
|
|
965
|
+
*/
|
|
966
|
+
bio_description?: string;
|
|
967
|
+
/**
|
|
968
|
+
* The link to user's TikTok profile page.
|
|
969
|
+
*
|
|
970
|
+
* To return this field, add `fields=profile_deep_link` in the user profile request's query parameter.
|
|
971
|
+
*/
|
|
972
|
+
profile_deep_link?: string;
|
|
973
|
+
/**
|
|
974
|
+
* Whether TikTok has provided a verified badge to the account after confirming
|
|
975
|
+
* that it belongs to the user it represents.
|
|
976
|
+
*
|
|
977
|
+
* To return this field, add `fields=is_verified` in the user profile request's query parameter.
|
|
978
|
+
*/
|
|
979
|
+
is_verified?: boolean;
|
|
980
|
+
/**
|
|
981
|
+
* User's followers count.
|
|
982
|
+
*
|
|
983
|
+
* To return this field, add `fields=follower_count` in the user profile request's query parameter.
|
|
984
|
+
*/
|
|
985
|
+
follower_count?: number;
|
|
986
|
+
/**
|
|
987
|
+
* The number of accounts that the user is following.
|
|
988
|
+
*
|
|
989
|
+
* To return this field, add `fields=following_count` in the user profile request's query parameter.
|
|
990
|
+
*/
|
|
991
|
+
following_count?: number;
|
|
992
|
+
/**
|
|
993
|
+
* The total number of likes received by the user across all of their videos.
|
|
994
|
+
*
|
|
995
|
+
* To return this field, add `fields=likes_count` in the user profile request's query parameter.
|
|
996
|
+
*/
|
|
997
|
+
likes_count?: number;
|
|
998
|
+
/**
|
|
999
|
+
* The total number of publicly posted videos by the user.
|
|
1000
|
+
*
|
|
1001
|
+
* To return this field, add `fields=video_count` in the user profile request's query parameter.
|
|
1002
|
+
*/
|
|
1003
|
+
video_count?: number;
|
|
1004
|
+
};
|
|
1005
|
+
};
|
|
1006
|
+
error?: {
|
|
1007
|
+
/**
|
|
1008
|
+
* The error category in string.
|
|
1009
|
+
*/
|
|
1010
|
+
code?: string;
|
|
1011
|
+
/**
|
|
1012
|
+
* The error message in string.
|
|
1013
|
+
*/
|
|
1014
|
+
message?: string;
|
|
1015
|
+
/**
|
|
1016
|
+
* The error message in string.
|
|
1017
|
+
*/
|
|
1018
|
+
log_id?: string;
|
|
1019
|
+
};
|
|
1020
|
+
}
|
|
1021
|
+
interface TiktokOptions extends ProviderOptions {
|
|
1022
|
+
clientId?: never;
|
|
1023
|
+
clientSecret: string;
|
|
1024
|
+
clientKey: string;
|
|
1025
|
+
}
|
|
1026
|
+
declare const tiktok: (options: TiktokOptions) => {
|
|
1027
|
+
id: "tiktok";
|
|
1028
|
+
name: string;
|
|
1029
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
1030
|
+
state: string;
|
|
1031
|
+
codeVerifier: string;
|
|
1032
|
+
scopes?: string[];
|
|
1033
|
+
redirectURI: string;
|
|
1034
|
+
display?: string;
|
|
1035
|
+
loginHint?: string;
|
|
1036
|
+
}): URL;
|
|
1037
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
1038
|
+
code: string;
|
|
1039
|
+
redirectURI: string;
|
|
1040
|
+
codeVerifier?: string;
|
|
1041
|
+
deviceId?: string;
|
|
1042
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1043
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1044
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1045
|
+
user?: {
|
|
1046
|
+
name?: {
|
|
1047
|
+
firstName?: string;
|
|
1048
|
+
lastName?: string;
|
|
1049
|
+
};
|
|
1050
|
+
email?: string;
|
|
1051
|
+
};
|
|
1052
|
+
}): Promise<{
|
|
1053
|
+
user: {
|
|
1054
|
+
id: string;
|
|
1055
|
+
name?: string;
|
|
1056
|
+
email?: string | null;
|
|
1057
|
+
image?: string;
|
|
1058
|
+
emailVerified: boolean;
|
|
1059
|
+
[key: string]: any;
|
|
1060
|
+
};
|
|
1061
|
+
data: any;
|
|
1062
|
+
} | null>;
|
|
1063
|
+
options: TiktokOptions;
|
|
1064
|
+
};
|
|
1065
|
+
|
|
1066
|
+
interface GitlabProfile extends Record<string, any> {
|
|
1067
|
+
id: number;
|
|
1068
|
+
username: string;
|
|
1069
|
+
email: string;
|
|
1070
|
+
name: string;
|
|
1071
|
+
state: string;
|
|
1072
|
+
avatar_url: string;
|
|
1073
|
+
web_url: string;
|
|
1074
|
+
created_at: string;
|
|
1075
|
+
bio: string;
|
|
1076
|
+
location?: string;
|
|
1077
|
+
public_email: string;
|
|
1078
|
+
skype: string;
|
|
1079
|
+
linkedin: string;
|
|
1080
|
+
twitter: string;
|
|
1081
|
+
website_url: string;
|
|
1082
|
+
organization: string;
|
|
1083
|
+
job_title: string;
|
|
1084
|
+
pronouns: string;
|
|
1085
|
+
bot: boolean;
|
|
1086
|
+
work_information?: string;
|
|
1087
|
+
followers: number;
|
|
1088
|
+
following: number;
|
|
1089
|
+
local_time: string;
|
|
1090
|
+
last_sign_in_at: string;
|
|
1091
|
+
confirmed_at: string;
|
|
1092
|
+
theme_id: number;
|
|
1093
|
+
last_activity_on: string;
|
|
1094
|
+
color_scheme_id: number;
|
|
1095
|
+
projects_limit: number;
|
|
1096
|
+
current_sign_in_at: string;
|
|
1097
|
+
identities: Array<{
|
|
1098
|
+
provider: string;
|
|
1099
|
+
extern_uid: string;
|
|
1100
|
+
}>;
|
|
1101
|
+
can_create_group: boolean;
|
|
1102
|
+
can_create_project: boolean;
|
|
1103
|
+
two_factor_enabled: boolean;
|
|
1104
|
+
external: boolean;
|
|
1105
|
+
private_profile: boolean;
|
|
1106
|
+
commit_email: string;
|
|
1107
|
+
shared_runners_minutes_limit: number;
|
|
1108
|
+
extra_shared_runners_minutes_limit: number;
|
|
1109
|
+
}
|
|
1110
|
+
interface GitlabOptions extends ProviderOptions<GitlabProfile> {
|
|
1111
|
+
clientId: string;
|
|
1112
|
+
issuer?: string;
|
|
1113
|
+
}
|
|
1114
|
+
declare const gitlab: (options: GitlabOptions) => {
|
|
1115
|
+
id: "gitlab";
|
|
1116
|
+
name: string;
|
|
1117
|
+
createAuthorizationURL: ({ state, scopes, codeVerifier, loginHint, redirectURI, }: {
|
|
1118
|
+
state: string;
|
|
1119
|
+
codeVerifier: string;
|
|
1120
|
+
scopes?: string[];
|
|
1121
|
+
redirectURI: string;
|
|
1122
|
+
display?: string;
|
|
1123
|
+
loginHint?: string;
|
|
1124
|
+
}) => Promise<URL>;
|
|
1125
|
+
validateAuthorizationCode: ({ code, redirectURI, codeVerifier }: {
|
|
1126
|
+
code: string;
|
|
1127
|
+
redirectURI: string;
|
|
1128
|
+
codeVerifier?: string;
|
|
1129
|
+
deviceId?: string;
|
|
1130
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1131
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1132
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1133
|
+
user?: {
|
|
1134
|
+
name?: {
|
|
1135
|
+
firstName?: string;
|
|
1136
|
+
lastName?: string;
|
|
1137
|
+
};
|
|
1138
|
+
email?: string;
|
|
1139
|
+
};
|
|
1140
|
+
}): Promise<{
|
|
1141
|
+
user: {
|
|
1142
|
+
id: string;
|
|
1143
|
+
name?: string;
|
|
1144
|
+
email?: string | null;
|
|
1145
|
+
image?: string;
|
|
1146
|
+
emailVerified: boolean;
|
|
1147
|
+
[key: string]: any;
|
|
1148
|
+
};
|
|
1149
|
+
data: any;
|
|
1150
|
+
} | {
|
|
1151
|
+
user: {
|
|
1152
|
+
id: number;
|
|
1153
|
+
name: string;
|
|
1154
|
+
email: string;
|
|
1155
|
+
image: string;
|
|
1156
|
+
emailVerified: true;
|
|
1157
|
+
} | {
|
|
1158
|
+
id: string | number;
|
|
1159
|
+
name: string;
|
|
1160
|
+
email: string | null;
|
|
1161
|
+
image: string;
|
|
1162
|
+
emailVerified: boolean;
|
|
1163
|
+
} | {
|
|
1164
|
+
id: string | number;
|
|
1165
|
+
name: string;
|
|
1166
|
+
email: string | null;
|
|
1167
|
+
image: string;
|
|
1168
|
+
emailVerified: boolean;
|
|
1169
|
+
};
|
|
1170
|
+
data: GitlabProfile;
|
|
1171
|
+
} | null>;
|
|
1172
|
+
options: GitlabOptions;
|
|
1173
|
+
};
|
|
1174
|
+
|
|
1175
|
+
interface LinkedInProfile {
|
|
1176
|
+
sub: string;
|
|
1177
|
+
name: string;
|
|
1178
|
+
given_name: string;
|
|
1179
|
+
family_name: string;
|
|
1180
|
+
picture: string;
|
|
1181
|
+
locale: {
|
|
1182
|
+
country: string;
|
|
1183
|
+
language: string;
|
|
1184
|
+
};
|
|
1185
|
+
email: string;
|
|
1186
|
+
email_verified: boolean;
|
|
1187
|
+
}
|
|
1188
|
+
interface LinkedInOptions extends ProviderOptions<LinkedInProfile> {
|
|
1189
|
+
clientId: string;
|
|
1190
|
+
}
|
|
1191
|
+
declare const linkedin: (options: LinkedInOptions) => {
|
|
1192
|
+
id: "linkedin";
|
|
1193
|
+
name: string;
|
|
1194
|
+
createAuthorizationURL: ({ state, scopes, redirectURI, loginHint, }: {
|
|
1195
|
+
state: string;
|
|
1196
|
+
codeVerifier: string;
|
|
1197
|
+
scopes?: string[];
|
|
1198
|
+
redirectURI: string;
|
|
1199
|
+
display?: string;
|
|
1200
|
+
loginHint?: string;
|
|
1201
|
+
}) => Promise<URL>;
|
|
1202
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
1203
|
+
code: string;
|
|
1204
|
+
redirectURI: string;
|
|
1205
|
+
codeVerifier?: string;
|
|
1206
|
+
deviceId?: string;
|
|
1207
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1208
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1209
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1210
|
+
user?: {
|
|
1211
|
+
name?: {
|
|
1212
|
+
firstName?: string;
|
|
1213
|
+
lastName?: string;
|
|
1214
|
+
};
|
|
1215
|
+
email?: string;
|
|
1216
|
+
};
|
|
1217
|
+
}): Promise<{
|
|
1218
|
+
user: {
|
|
1219
|
+
id: string;
|
|
1220
|
+
name?: string;
|
|
1221
|
+
email?: string | null;
|
|
1222
|
+
image?: string;
|
|
1223
|
+
emailVerified: boolean;
|
|
1224
|
+
[key: string]: any;
|
|
1225
|
+
};
|
|
1226
|
+
data: any;
|
|
1227
|
+
} | null>;
|
|
1228
|
+
options: LinkedInOptions;
|
|
1229
|
+
};
|
|
1230
|
+
|
|
1231
|
+
interface LinearUser {
|
|
1232
|
+
id: string;
|
|
1233
|
+
name: string;
|
|
1234
|
+
email: string;
|
|
1235
|
+
avatarUrl?: string;
|
|
1236
|
+
active: boolean;
|
|
1237
|
+
createdAt: string;
|
|
1238
|
+
updatedAt: string;
|
|
1239
|
+
}
|
|
1240
|
+
interface LinearProfile {
|
|
1241
|
+
data: {
|
|
1242
|
+
viewer: LinearUser;
|
|
1243
|
+
};
|
|
1244
|
+
}
|
|
1245
|
+
interface LinearOptions extends ProviderOptions<LinearUser> {
|
|
1246
|
+
clientId: string;
|
|
1247
|
+
}
|
|
1248
|
+
declare const linear: (options: LinearOptions) => {
|
|
1249
|
+
id: "linear";
|
|
1250
|
+
name: string;
|
|
1251
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
1252
|
+
state: string;
|
|
1253
|
+
codeVerifier: string;
|
|
1254
|
+
scopes?: string[];
|
|
1255
|
+
redirectURI: string;
|
|
1256
|
+
display?: string;
|
|
1257
|
+
loginHint?: string;
|
|
1258
|
+
}): Promise<URL>;
|
|
1259
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
1260
|
+
code: string;
|
|
1261
|
+
redirectURI: string;
|
|
1262
|
+
codeVerifier?: string;
|
|
1263
|
+
deviceId?: string;
|
|
1264
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1265
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1266
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1267
|
+
user?: {
|
|
1268
|
+
name?: {
|
|
1269
|
+
firstName?: string;
|
|
1270
|
+
lastName?: string;
|
|
1271
|
+
};
|
|
1272
|
+
email?: string;
|
|
1273
|
+
};
|
|
1274
|
+
}): Promise<{
|
|
1275
|
+
user: {
|
|
1276
|
+
id: string;
|
|
1277
|
+
name?: string;
|
|
1278
|
+
email?: string | null;
|
|
1279
|
+
image?: string;
|
|
1280
|
+
emailVerified: boolean;
|
|
1281
|
+
[key: string]: any;
|
|
1282
|
+
};
|
|
1283
|
+
data: any;
|
|
1284
|
+
} | null>;
|
|
1285
|
+
options: LinearOptions;
|
|
1286
|
+
};
|
|
1287
|
+
|
|
1288
|
+
interface KickProfile {
|
|
1289
|
+
/**
|
|
1290
|
+
* The user id of the user
|
|
1291
|
+
*/
|
|
1292
|
+
user_id: string;
|
|
1293
|
+
/**
|
|
1294
|
+
* The name of the user
|
|
1295
|
+
*/
|
|
1296
|
+
name: string;
|
|
1297
|
+
/**
|
|
1298
|
+
* The email of the user
|
|
1299
|
+
*/
|
|
1300
|
+
email: string;
|
|
1301
|
+
/**
|
|
1302
|
+
* The picture of the user
|
|
1303
|
+
*/
|
|
1304
|
+
profile_picture: string;
|
|
1305
|
+
}
|
|
1306
|
+
interface KickOptions extends ProviderOptions<KickProfile> {
|
|
1307
|
+
clientId: string;
|
|
1308
|
+
}
|
|
1309
|
+
declare const kick: (options: KickOptions) => {
|
|
1310
|
+
id: "kick";
|
|
1311
|
+
name: string;
|
|
1312
|
+
createAuthorizationURL({ state, scopes, redirectURI, codeVerifier }: {
|
|
1313
|
+
state: string;
|
|
1314
|
+
codeVerifier: string;
|
|
1315
|
+
scopes?: string[];
|
|
1316
|
+
redirectURI: string;
|
|
1317
|
+
display?: string;
|
|
1318
|
+
loginHint?: string;
|
|
1319
|
+
}): Promise<URL>;
|
|
1320
|
+
validateAuthorizationCode({ code, redirectURI, codeVerifier }: {
|
|
1321
|
+
code: string;
|
|
1322
|
+
redirectURI: string;
|
|
1323
|
+
codeVerifier?: string;
|
|
1324
|
+
deviceId?: string;
|
|
1325
|
+
}): Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1326
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1327
|
+
user?: {
|
|
1328
|
+
name?: {
|
|
1329
|
+
firstName?: string;
|
|
1330
|
+
lastName?: string;
|
|
1331
|
+
};
|
|
1332
|
+
email?: string;
|
|
1333
|
+
};
|
|
1334
|
+
}): Promise<{
|
|
1335
|
+
user: {
|
|
1336
|
+
id: string;
|
|
1337
|
+
name?: string;
|
|
1338
|
+
email?: string | null;
|
|
1339
|
+
image?: string;
|
|
1340
|
+
emailVerified: boolean;
|
|
1341
|
+
[key: string]: any;
|
|
1342
|
+
};
|
|
1343
|
+
data: any;
|
|
1344
|
+
} | null>;
|
|
1345
|
+
options: KickOptions;
|
|
1346
|
+
};
|
|
1347
|
+
|
|
1348
|
+
interface DropboxProfile {
|
|
1349
|
+
account_id: string;
|
|
1350
|
+
name: {
|
|
1351
|
+
given_name: string;
|
|
1352
|
+
surname: string;
|
|
1353
|
+
familiar_name: string;
|
|
1354
|
+
display_name: string;
|
|
1355
|
+
abbreviated_name: string;
|
|
1356
|
+
};
|
|
1357
|
+
email: string;
|
|
1358
|
+
email_verified: boolean;
|
|
1359
|
+
profile_photo_url: string;
|
|
1360
|
+
}
|
|
1361
|
+
interface DropboxOptions extends ProviderOptions<DropboxProfile> {
|
|
1362
|
+
clientId: string;
|
|
1363
|
+
accessType?: "offline" | "online" | "legacy";
|
|
1364
|
+
}
|
|
1365
|
+
declare const dropbox: (options: DropboxOptions) => {
|
|
1366
|
+
id: "dropbox";
|
|
1367
|
+
name: string;
|
|
1368
|
+
createAuthorizationURL: ({ state, scopes, codeVerifier, redirectURI, }: {
|
|
1369
|
+
state: string;
|
|
1370
|
+
codeVerifier: string;
|
|
1371
|
+
scopes?: string[];
|
|
1372
|
+
redirectURI: string;
|
|
1373
|
+
display?: string;
|
|
1374
|
+
loginHint?: string;
|
|
1375
|
+
}) => Promise<URL>;
|
|
1376
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
1377
|
+
code: string;
|
|
1378
|
+
redirectURI: string;
|
|
1379
|
+
codeVerifier?: string;
|
|
1380
|
+
deviceId?: string;
|
|
1381
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1382
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1383
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1384
|
+
user?: {
|
|
1385
|
+
name?: {
|
|
1386
|
+
firstName?: string;
|
|
1387
|
+
lastName?: string;
|
|
1388
|
+
};
|
|
1389
|
+
email?: string;
|
|
1390
|
+
};
|
|
1391
|
+
}): Promise<{
|
|
1392
|
+
user: {
|
|
1393
|
+
id: string;
|
|
1394
|
+
name?: string;
|
|
1395
|
+
email?: string | null;
|
|
1396
|
+
image?: string;
|
|
1397
|
+
emailVerified: boolean;
|
|
1398
|
+
[key: string]: any;
|
|
1399
|
+
};
|
|
1400
|
+
data: any;
|
|
1401
|
+
} | null>;
|
|
1402
|
+
options: DropboxOptions;
|
|
1403
|
+
};
|
|
1404
|
+
|
|
1405
|
+
interface TwitterProfile {
|
|
1406
|
+
data: {
|
|
1407
|
+
/**
|
|
1408
|
+
* Unique identifier of this user. This is returned as a string in order to avoid complications with languages and tools
|
|
1409
|
+
* that cannot handle large integers.
|
|
1410
|
+
*/
|
|
1411
|
+
id: string;
|
|
1412
|
+
/** The friendly name of this user, as shown on their profile. */
|
|
1413
|
+
name: string;
|
|
1414
|
+
/** The email address of this user. */
|
|
1415
|
+
email?: string;
|
|
1416
|
+
/** The Twitter handle (screen name) of this user. */
|
|
1417
|
+
username: string;
|
|
1418
|
+
/**
|
|
1419
|
+
* The location specified in the user's profile, if the user provided one.
|
|
1420
|
+
* As this is a freeform value, it may not indicate a valid location, but it may be fuzzily evaluated when performing searches with location queries.
|
|
1421
|
+
*
|
|
1422
|
+
* To return this field, add `user.fields=location` in the authorization request's query parameter.
|
|
1423
|
+
*/
|
|
1424
|
+
location?: string;
|
|
1425
|
+
/**
|
|
1426
|
+
* This object and its children fields contain details about text that has a special meaning in the user's description.
|
|
1427
|
+
*
|
|
1428
|
+
*To return this field, add `user.fields=entities` in the authorization request's query parameter.
|
|
1429
|
+
*/
|
|
1430
|
+
entities?: {
|
|
1431
|
+
/** Contains details about the user's profile website. */
|
|
1432
|
+
url: {
|
|
1433
|
+
/** Contains details about the user's profile website. */
|
|
1434
|
+
urls: Array<{
|
|
1435
|
+
/** The start position (zero-based) of the recognized user's profile website. All start indices are inclusive. */
|
|
1436
|
+
start: number;
|
|
1437
|
+
/** The end position (zero-based) of the recognized user's profile website. This end index is exclusive. */
|
|
1438
|
+
end: number;
|
|
1439
|
+
/** The URL in the format entered by the user. */
|
|
1440
|
+
url: string;
|
|
1441
|
+
/** The fully resolved URL. */
|
|
1442
|
+
expanded_url: string;
|
|
1443
|
+
/** The URL as displayed in the user's profile. */
|
|
1444
|
+
display_url: string;
|
|
1445
|
+
}>;
|
|
1446
|
+
};
|
|
1447
|
+
/** Contains details about URLs, Hashtags, Cashtags, or mentions located within a user's description. */
|
|
1448
|
+
description: {
|
|
1449
|
+
hashtags: Array<{
|
|
1450
|
+
start: number;
|
|
1451
|
+
end: number;
|
|
1452
|
+
tag: string;
|
|
1453
|
+
}>;
|
|
1454
|
+
};
|
|
1455
|
+
};
|
|
1456
|
+
/**
|
|
1457
|
+
* Indicate if this user is a verified Twitter user.
|
|
1458
|
+
*
|
|
1459
|
+
* To return this field, add `user.fields=verified` in the authorization request's query parameter.
|
|
1460
|
+
*/
|
|
1461
|
+
verified?: boolean;
|
|
1462
|
+
/**
|
|
1463
|
+
* The text of this user's profile description (also known as bio), if the user provided one.
|
|
1464
|
+
*
|
|
1465
|
+
* To return this field, add `user.fields=description` in the authorization request's query parameter.
|
|
1466
|
+
*/
|
|
1467
|
+
description?: string;
|
|
1468
|
+
/**
|
|
1469
|
+
* The URL specified in the user's profile, if present.
|
|
1470
|
+
*
|
|
1471
|
+
* To return this field, add `user.fields=url` in the authorization request's query parameter.
|
|
1472
|
+
*/
|
|
1473
|
+
url?: string;
|
|
1474
|
+
/** The URL to the profile image for this user, as shown on the user's profile. */
|
|
1475
|
+
profile_image_url?: string;
|
|
1476
|
+
protected?: boolean;
|
|
1477
|
+
/**
|
|
1478
|
+
* Unique identifier of this user's pinned Tweet.
|
|
1479
|
+
*
|
|
1480
|
+
* You can obtain the expanded object in `includes.tweets` by adding `expansions=pinned_tweet_id` in the authorization request's query parameter.
|
|
1481
|
+
*/
|
|
1482
|
+
pinned_tweet_id?: string;
|
|
1483
|
+
created_at?: string;
|
|
1484
|
+
};
|
|
1485
|
+
includes?: {
|
|
1486
|
+
tweets?: Array<{
|
|
1487
|
+
id: string;
|
|
1488
|
+
text: string;
|
|
1489
|
+
}>;
|
|
1490
|
+
};
|
|
1491
|
+
[claims: string]: unknown;
|
|
1492
|
+
}
|
|
1493
|
+
interface TwitterOption extends ProviderOptions<TwitterProfile> {
|
|
1494
|
+
clientId: string;
|
|
1495
|
+
}
|
|
1496
|
+
declare const twitter: (options: TwitterOption) => {
|
|
1497
|
+
id: "twitter";
|
|
1498
|
+
name: string;
|
|
1499
|
+
createAuthorizationURL(data: {
|
|
1500
|
+
state: string;
|
|
1501
|
+
codeVerifier: string;
|
|
1502
|
+
scopes?: string[];
|
|
1503
|
+
redirectURI: string;
|
|
1504
|
+
display?: string;
|
|
1505
|
+
loginHint?: string;
|
|
1506
|
+
}): Promise<URL>;
|
|
1507
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
1508
|
+
code: string;
|
|
1509
|
+
redirectURI: string;
|
|
1510
|
+
codeVerifier?: string;
|
|
1511
|
+
deviceId?: string;
|
|
1512
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1513
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1514
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1515
|
+
user?: {
|
|
1516
|
+
name?: {
|
|
1517
|
+
firstName?: string;
|
|
1518
|
+
lastName?: string;
|
|
1519
|
+
};
|
|
1520
|
+
email?: string;
|
|
1521
|
+
};
|
|
1522
|
+
}): Promise<{
|
|
1523
|
+
user: {
|
|
1524
|
+
id: string;
|
|
1525
|
+
name?: string;
|
|
1526
|
+
email?: string | null;
|
|
1527
|
+
image?: string;
|
|
1528
|
+
emailVerified: boolean;
|
|
1529
|
+
[key: string]: any;
|
|
1530
|
+
};
|
|
1531
|
+
data: any;
|
|
1532
|
+
} | null>;
|
|
1533
|
+
options: TwitterOption;
|
|
1534
|
+
};
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* @see https://dev.twitch.tv/docs/authentication/getting-tokens-oidc/#requesting-claims
|
|
1538
|
+
*/
|
|
1539
|
+
interface TwitchProfile {
|
|
1540
|
+
/**
|
|
1541
|
+
* The sub of the user
|
|
1542
|
+
*/
|
|
1543
|
+
sub: string;
|
|
1544
|
+
/**
|
|
1545
|
+
* The preferred username of the user
|
|
1546
|
+
*/
|
|
1547
|
+
preferred_username: string;
|
|
1548
|
+
/**
|
|
1549
|
+
* The email of the user
|
|
1550
|
+
*/
|
|
1551
|
+
email: string;
|
|
1552
|
+
/**
|
|
1553
|
+
* Indicate if this user has a verified email.
|
|
1554
|
+
*/
|
|
1555
|
+
email_verified: boolean;
|
|
1556
|
+
/**
|
|
1557
|
+
* The picture of the user
|
|
1558
|
+
*/
|
|
1559
|
+
picture: string;
|
|
1560
|
+
}
|
|
1561
|
+
interface TwitchOptions extends ProviderOptions<TwitchProfile> {
|
|
1562
|
+
clientId: string;
|
|
1563
|
+
claims?: string[];
|
|
1564
|
+
}
|
|
1565
|
+
declare const twitch: (options: TwitchOptions) => {
|
|
1566
|
+
id: "twitch";
|
|
1567
|
+
name: string;
|
|
1568
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
1569
|
+
state: string;
|
|
1570
|
+
codeVerifier: string;
|
|
1571
|
+
scopes?: string[];
|
|
1572
|
+
redirectURI: string;
|
|
1573
|
+
display?: string;
|
|
1574
|
+
loginHint?: string;
|
|
1575
|
+
}): Promise<URL>;
|
|
1576
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
1577
|
+
code: string;
|
|
1578
|
+
redirectURI: string;
|
|
1579
|
+
codeVerifier?: string;
|
|
1580
|
+
deviceId?: string;
|
|
1581
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1582
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1583
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1584
|
+
user?: {
|
|
1585
|
+
name?: {
|
|
1586
|
+
firstName?: string;
|
|
1587
|
+
lastName?: string;
|
|
1588
|
+
};
|
|
1589
|
+
email?: string;
|
|
1590
|
+
};
|
|
1591
|
+
}): Promise<{
|
|
1592
|
+
user: {
|
|
1593
|
+
id: string;
|
|
1594
|
+
name?: string;
|
|
1595
|
+
email?: string | null;
|
|
1596
|
+
image?: string;
|
|
1597
|
+
emailVerified: boolean;
|
|
1598
|
+
[key: string]: any;
|
|
1599
|
+
};
|
|
1600
|
+
data: any;
|
|
1601
|
+
} | null>;
|
|
1602
|
+
options: TwitchOptions;
|
|
1603
|
+
};
|
|
1604
|
+
|
|
1605
|
+
interface SpotifyProfile {
|
|
1606
|
+
id: string;
|
|
1607
|
+
display_name: string;
|
|
1608
|
+
email: string;
|
|
1609
|
+
images: {
|
|
1610
|
+
url: string;
|
|
1611
|
+
}[];
|
|
1612
|
+
}
|
|
1613
|
+
interface SpotifyOptions extends ProviderOptions<SpotifyProfile> {
|
|
1614
|
+
clientId: string;
|
|
1615
|
+
}
|
|
1616
|
+
declare const spotify: (options: SpotifyOptions) => {
|
|
1617
|
+
id: "spotify";
|
|
1618
|
+
name: string;
|
|
1619
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
1620
|
+
state: string;
|
|
1621
|
+
codeVerifier: string;
|
|
1622
|
+
scopes?: string[];
|
|
1623
|
+
redirectURI: string;
|
|
1624
|
+
display?: string;
|
|
1625
|
+
loginHint?: string;
|
|
1626
|
+
}): Promise<URL>;
|
|
1627
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
1628
|
+
code: string;
|
|
1629
|
+
redirectURI: string;
|
|
1630
|
+
codeVerifier?: string;
|
|
1631
|
+
deviceId?: string;
|
|
1632
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1633
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1634
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1635
|
+
user?: {
|
|
1636
|
+
name?: {
|
|
1637
|
+
firstName?: string;
|
|
1638
|
+
lastName?: string;
|
|
1639
|
+
};
|
|
1640
|
+
email?: string;
|
|
1641
|
+
};
|
|
1642
|
+
}): Promise<{
|
|
1643
|
+
user: {
|
|
1644
|
+
id: string;
|
|
1645
|
+
name?: string;
|
|
1646
|
+
email?: string | null;
|
|
1647
|
+
image?: string;
|
|
1648
|
+
emailVerified: boolean;
|
|
1649
|
+
[key: string]: any;
|
|
1650
|
+
};
|
|
1651
|
+
data: any;
|
|
1652
|
+
} | null>;
|
|
1653
|
+
options: SpotifyOptions;
|
|
1654
|
+
};
|
|
1655
|
+
|
|
1656
|
+
interface SlackProfile extends Record<string, any> {
|
|
1657
|
+
ok: boolean;
|
|
1658
|
+
sub: string;
|
|
1659
|
+
"https://slack.com/user_id": string;
|
|
1660
|
+
"https://slack.com/team_id": string;
|
|
1661
|
+
email: string;
|
|
1662
|
+
email_verified: boolean;
|
|
1663
|
+
date_email_verified: number;
|
|
1664
|
+
name: string;
|
|
1665
|
+
picture: string;
|
|
1666
|
+
given_name: string;
|
|
1667
|
+
family_name: string;
|
|
1668
|
+
locale: string;
|
|
1669
|
+
"https://slack.com/team_name": string;
|
|
1670
|
+
"https://slack.com/team_domain": string;
|
|
1671
|
+
"https://slack.com/user_image_24": string;
|
|
1672
|
+
"https://slack.com/user_image_32": string;
|
|
1673
|
+
"https://slack.com/user_image_48": string;
|
|
1674
|
+
"https://slack.com/user_image_72": string;
|
|
1675
|
+
"https://slack.com/user_image_192": string;
|
|
1676
|
+
"https://slack.com/user_image_512": string;
|
|
1677
|
+
"https://slack.com/team_image_34": string;
|
|
1678
|
+
"https://slack.com/team_image_44": string;
|
|
1679
|
+
"https://slack.com/team_image_68": string;
|
|
1680
|
+
"https://slack.com/team_image_88": string;
|
|
1681
|
+
"https://slack.com/team_image_102": string;
|
|
1682
|
+
"https://slack.com/team_image_132": string;
|
|
1683
|
+
"https://slack.com/team_image_230": string;
|
|
1684
|
+
"https://slack.com/team_image_default": boolean;
|
|
1685
|
+
}
|
|
1686
|
+
interface SlackOptions extends ProviderOptions<SlackProfile> {
|
|
1687
|
+
clientId: string;
|
|
1688
|
+
}
|
|
1689
|
+
declare const slack: (options: SlackOptions) => {
|
|
1690
|
+
id: "slack";
|
|
1691
|
+
name: string;
|
|
1692
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
1693
|
+
state: string;
|
|
1694
|
+
codeVerifier: string;
|
|
1695
|
+
scopes?: string[];
|
|
1696
|
+
redirectURI: string;
|
|
1697
|
+
display?: string;
|
|
1698
|
+
loginHint?: string;
|
|
1699
|
+
}): URL;
|
|
1700
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
1701
|
+
code: string;
|
|
1702
|
+
redirectURI: string;
|
|
1703
|
+
codeVerifier?: string;
|
|
1704
|
+
deviceId?: string;
|
|
1705
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1706
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1707
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1708
|
+
user?: {
|
|
1709
|
+
name?: {
|
|
1710
|
+
firstName?: string;
|
|
1711
|
+
lastName?: string;
|
|
1712
|
+
};
|
|
1713
|
+
email?: string;
|
|
1714
|
+
};
|
|
1715
|
+
}): Promise<{
|
|
1716
|
+
user: {
|
|
1717
|
+
id: string;
|
|
1718
|
+
name?: string;
|
|
1719
|
+
email?: string | null;
|
|
1720
|
+
image?: string;
|
|
1721
|
+
emailVerified: boolean;
|
|
1722
|
+
[key: string]: any;
|
|
1723
|
+
};
|
|
1724
|
+
data: any;
|
|
1725
|
+
} | null>;
|
|
1726
|
+
options: SlackOptions;
|
|
1727
|
+
};
|
|
1728
|
+
|
|
1729
|
+
interface HuggingFaceProfile {
|
|
1730
|
+
sub: string;
|
|
1731
|
+
name: string;
|
|
1732
|
+
preferred_username: string;
|
|
1733
|
+
profile: string;
|
|
1734
|
+
picture: string;
|
|
1735
|
+
website?: string;
|
|
1736
|
+
email?: string;
|
|
1737
|
+
email_verified?: boolean;
|
|
1738
|
+
isPro: boolean;
|
|
1739
|
+
canPay?: boolean;
|
|
1740
|
+
orgs?: {
|
|
1741
|
+
sub: string;
|
|
1742
|
+
name: string;
|
|
1743
|
+
picture: string;
|
|
1744
|
+
preferred_username: string;
|
|
1745
|
+
isEnterprise: boolean | "plus";
|
|
1746
|
+
canPay?: boolean;
|
|
1747
|
+
roleInOrg?: "admin" | "write" | "contributor" | "read";
|
|
1748
|
+
pendingSSO?: boolean;
|
|
1749
|
+
missingMFA?: boolean;
|
|
1750
|
+
resourceGroups?: {
|
|
1751
|
+
sub: string;
|
|
1752
|
+
name: string;
|
|
1753
|
+
role: "admin" | "write" | "contributor" | "read";
|
|
1754
|
+
}[];
|
|
1755
|
+
};
|
|
1756
|
+
}
|
|
1757
|
+
interface HuggingFaceOptions extends ProviderOptions<HuggingFaceProfile> {
|
|
1758
|
+
clientId: string;
|
|
1759
|
+
}
|
|
1760
|
+
declare const huggingface: (options: HuggingFaceOptions) => {
|
|
1761
|
+
id: "huggingface";
|
|
1762
|
+
name: string;
|
|
1763
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
1764
|
+
state: string;
|
|
1765
|
+
codeVerifier: string;
|
|
1766
|
+
scopes?: string[];
|
|
1767
|
+
redirectURI: string;
|
|
1768
|
+
display?: string;
|
|
1769
|
+
loginHint?: string;
|
|
1770
|
+
}): Promise<URL>;
|
|
1771
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
1772
|
+
code: string;
|
|
1773
|
+
redirectURI: string;
|
|
1774
|
+
codeVerifier?: string;
|
|
1775
|
+
deviceId?: string;
|
|
1776
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1777
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1778
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1779
|
+
user?: {
|
|
1780
|
+
name?: {
|
|
1781
|
+
firstName?: string;
|
|
1782
|
+
lastName?: string;
|
|
1783
|
+
};
|
|
1784
|
+
email?: string;
|
|
1785
|
+
};
|
|
1786
|
+
}): Promise<{
|
|
1787
|
+
user: {
|
|
1788
|
+
id: string;
|
|
1789
|
+
name?: string;
|
|
1790
|
+
email?: string | null;
|
|
1791
|
+
image?: string;
|
|
1792
|
+
emailVerified: boolean;
|
|
1793
|
+
[key: string]: any;
|
|
1794
|
+
};
|
|
1795
|
+
data: any;
|
|
1796
|
+
} | null>;
|
|
1797
|
+
options: HuggingFaceOptions;
|
|
1798
|
+
};
|
|
1799
|
+
|
|
1800
|
+
interface GoogleProfile {
|
|
1801
|
+
aud: string;
|
|
1802
|
+
azp: string;
|
|
1803
|
+
email: string;
|
|
1804
|
+
email_verified: boolean;
|
|
1805
|
+
exp: number;
|
|
1806
|
+
/**
|
|
1807
|
+
* The family name of the user, or last name in most
|
|
1808
|
+
* Western languages.
|
|
1809
|
+
*/
|
|
1810
|
+
family_name: string;
|
|
1811
|
+
/**
|
|
1812
|
+
* The given name of the user, or first name in most
|
|
1813
|
+
* Western languages.
|
|
1814
|
+
*/
|
|
1815
|
+
given_name: string;
|
|
1816
|
+
hd?: string;
|
|
1817
|
+
iat: number;
|
|
1818
|
+
iss: string;
|
|
1819
|
+
jti?: string;
|
|
1820
|
+
locale?: string;
|
|
1821
|
+
name: string;
|
|
1822
|
+
nbf?: number;
|
|
1823
|
+
picture: string;
|
|
1824
|
+
sub: string;
|
|
1825
|
+
}
|
|
1826
|
+
interface GoogleOptions extends ProviderOptions<GoogleProfile> {
|
|
1827
|
+
clientId: string;
|
|
1828
|
+
/**
|
|
1829
|
+
* The access type to use for the authorization code request
|
|
1830
|
+
*/
|
|
1831
|
+
accessType?: "offline" | "online";
|
|
1832
|
+
/**
|
|
1833
|
+
* The display mode to use for the authorization code request
|
|
1834
|
+
*/
|
|
1835
|
+
display?: "page" | "popup" | "touch" | "wap";
|
|
1836
|
+
/**
|
|
1837
|
+
* The hosted domain of the user
|
|
1838
|
+
*/
|
|
1839
|
+
hd?: string;
|
|
1840
|
+
}
|
|
1841
|
+
declare const google: (options: GoogleOptions) => {
|
|
1842
|
+
id: "google";
|
|
1843
|
+
name: string;
|
|
1844
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI, loginHint, display, }: {
|
|
1845
|
+
state: string;
|
|
1846
|
+
codeVerifier: string;
|
|
1847
|
+
scopes?: string[];
|
|
1848
|
+
redirectURI: string;
|
|
1849
|
+
display?: string;
|
|
1850
|
+
loginHint?: string;
|
|
1851
|
+
}): Promise<URL>;
|
|
1852
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
1853
|
+
code: string;
|
|
1854
|
+
redirectURI: string;
|
|
1855
|
+
codeVerifier?: string;
|
|
1856
|
+
deviceId?: string;
|
|
1857
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1858
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
1859
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
1860
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
1861
|
+
user?: {
|
|
1862
|
+
name?: {
|
|
1863
|
+
firstName?: string;
|
|
1864
|
+
lastName?: string;
|
|
1865
|
+
};
|
|
1866
|
+
email?: string;
|
|
1867
|
+
};
|
|
1868
|
+
}): Promise<{
|
|
1869
|
+
user: {
|
|
1870
|
+
id: string;
|
|
1871
|
+
name?: string;
|
|
1872
|
+
email?: string | null;
|
|
1873
|
+
image?: string;
|
|
1874
|
+
emailVerified: boolean;
|
|
1875
|
+
[key: string]: any;
|
|
1876
|
+
};
|
|
1877
|
+
data: any;
|
|
1878
|
+
} | null>;
|
|
1879
|
+
options: GoogleOptions;
|
|
1880
|
+
};
|
|
1881
|
+
|
|
1882
|
+
/**
|
|
1883
|
+
* @see [Microsoft Identity Platform - Optional claims reference](https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims-reference)
|
|
1884
|
+
*/
|
|
1885
|
+
interface MicrosoftEntraIDProfile extends Record<string, any> {
|
|
1886
|
+
/** Identifies the intended recipient of the token */
|
|
1887
|
+
aud: string;
|
|
1888
|
+
/** Identifies the issuer, or "authorization server" that constructs and returns the token */
|
|
1889
|
+
iss: string;
|
|
1890
|
+
/** Indicates when the authentication for the token occurred */
|
|
1891
|
+
iat: Date;
|
|
1892
|
+
/** Records the identity provider that authenticated the subject of the token */
|
|
1893
|
+
idp: string;
|
|
1894
|
+
/** Identifies the time before which the JWT can't be accepted for processing */
|
|
1895
|
+
nbf: Date;
|
|
1896
|
+
/** Identifies the expiration time on or after which the JWT can't be accepted for processing */
|
|
1897
|
+
exp: Date;
|
|
1898
|
+
/** Code hash included in ID tokens when issued with an OAuth 2.0 authorization code */
|
|
1899
|
+
c_hash: string;
|
|
1900
|
+
/** Access token hash included in ID tokens when issued with an OAuth 2.0 access token */
|
|
1901
|
+
at_hash: string;
|
|
1902
|
+
/** Internal claim used to record data for token reuse */
|
|
1903
|
+
aio: string;
|
|
1904
|
+
/** The primary username that represents the user */
|
|
1905
|
+
preferred_username: string;
|
|
1906
|
+
/** User's email address */
|
|
1907
|
+
email: string;
|
|
1908
|
+
/** Human-readable value that identifies the subject of the token */
|
|
1909
|
+
name: string;
|
|
1910
|
+
/** Matches the parameter included in the original authorize request */
|
|
1911
|
+
nonce: string;
|
|
1912
|
+
/** User's profile picture */
|
|
1913
|
+
picture: string;
|
|
1914
|
+
/** Immutable identifier for the user account */
|
|
1915
|
+
oid: string;
|
|
1916
|
+
/** Set of roles assigned to the user */
|
|
1917
|
+
roles: string[];
|
|
1918
|
+
/** Internal claim used to revalidate tokens */
|
|
1919
|
+
rh: string;
|
|
1920
|
+
/** Subject identifier - unique to application ID */
|
|
1921
|
+
sub: string;
|
|
1922
|
+
/** Tenant ID the user is signing in to */
|
|
1923
|
+
tid: string;
|
|
1924
|
+
/** Unique identifier for a session */
|
|
1925
|
+
sid: string;
|
|
1926
|
+
/** Token identifier claim */
|
|
1927
|
+
uti: string;
|
|
1928
|
+
/** Indicates if user is in at least one group */
|
|
1929
|
+
hasgroups: boolean;
|
|
1930
|
+
/** User account status in tenant (0 = member, 1 = guest) */
|
|
1931
|
+
acct: 0 | 1;
|
|
1932
|
+
/** Auth Context IDs */
|
|
1933
|
+
acrs: string;
|
|
1934
|
+
/** Time when the user last authenticated */
|
|
1935
|
+
auth_time: Date;
|
|
1936
|
+
/** User's country/region */
|
|
1937
|
+
ctry: string;
|
|
1938
|
+
/** IP address of requesting client when inside VNET */
|
|
1939
|
+
fwd: string;
|
|
1940
|
+
/** Group claims */
|
|
1941
|
+
groups: string;
|
|
1942
|
+
/** Login hint for SSO */
|
|
1943
|
+
login_hint: string;
|
|
1944
|
+
/** Resource tenant's country/region */
|
|
1945
|
+
tenant_ctry: string;
|
|
1946
|
+
/** Region of the resource tenant */
|
|
1947
|
+
tenant_region_scope: string;
|
|
1948
|
+
/** UserPrincipalName */
|
|
1949
|
+
upn: string;
|
|
1950
|
+
/** User's verified primary email addresses */
|
|
1951
|
+
verified_primary_email: string[];
|
|
1952
|
+
/** User's verified secondary email addresses */
|
|
1953
|
+
verified_secondary_email: string[];
|
|
1954
|
+
/** VNET specifier information */
|
|
1955
|
+
vnet: string;
|
|
1956
|
+
/** Client Capabilities */
|
|
1957
|
+
xms_cc: string;
|
|
1958
|
+
/** Whether user's email domain is verified */
|
|
1959
|
+
xms_edov: boolean;
|
|
1960
|
+
/** Preferred data location for Multi-Geo tenants */
|
|
1961
|
+
xms_pdl: string;
|
|
1962
|
+
/** User preferred language */
|
|
1963
|
+
xms_pl: string;
|
|
1964
|
+
/** Tenant preferred language */
|
|
1965
|
+
xms_tpl: string;
|
|
1966
|
+
/** Zero-touch Deployment ID */
|
|
1967
|
+
ztdid: string;
|
|
1968
|
+
/** IP Address */
|
|
1969
|
+
ipaddr: string;
|
|
1970
|
+
/** On-premises Security Identifier */
|
|
1971
|
+
onprem_sid: string;
|
|
1972
|
+
/** Password Expiration Time */
|
|
1973
|
+
pwd_exp: number;
|
|
1974
|
+
/** Change Password URL */
|
|
1975
|
+
pwd_url: string;
|
|
1976
|
+
/** Inside Corporate Network flag */
|
|
1977
|
+
in_corp: string;
|
|
1978
|
+
/** User's family name/surname */
|
|
1979
|
+
family_name: string;
|
|
1980
|
+
/** User's given/first name */
|
|
1981
|
+
given_name: string;
|
|
1982
|
+
}
|
|
1983
|
+
interface MicrosoftOptions extends ProviderOptions<MicrosoftEntraIDProfile> {
|
|
1984
|
+
clientId: string;
|
|
1985
|
+
/**
|
|
1986
|
+
* The tenant ID of the Microsoft account
|
|
1987
|
+
* @default "common"
|
|
1988
|
+
*/
|
|
1989
|
+
tenantId?: string;
|
|
1990
|
+
/**
|
|
1991
|
+
* The authentication authority URL. Use the default "https://login.microsoftonline.com" for standard Entra ID or "https://<tenant-id>.ciamlogin.com" for CIAM scenarios.
|
|
1992
|
+
* @default "https://login.microsoftonline.com"
|
|
1993
|
+
*/
|
|
1994
|
+
authority?: string;
|
|
1995
|
+
/**
|
|
1996
|
+
* The size of the profile photo
|
|
1997
|
+
* @default 48
|
|
1998
|
+
*/
|
|
1999
|
+
profilePhotoSize?: 48 | 64 | 96 | 120 | 240 | 360 | 432 | 504 | 648;
|
|
2000
|
+
/**
|
|
2001
|
+
* Disable profile photo
|
|
2002
|
+
*/
|
|
2003
|
+
disableProfilePhoto?: boolean;
|
|
2004
|
+
}
|
|
2005
|
+
declare const microsoft: (options: MicrosoftOptions) => {
|
|
2006
|
+
id: "microsoft";
|
|
2007
|
+
name: string;
|
|
2008
|
+
createAuthorizationURL(data: {
|
|
2009
|
+
state: string;
|
|
2010
|
+
codeVerifier: string;
|
|
2011
|
+
scopes?: string[];
|
|
2012
|
+
redirectURI: string;
|
|
2013
|
+
display?: string;
|
|
2014
|
+
loginHint?: string;
|
|
2015
|
+
}): Promise<URL>;
|
|
2016
|
+
validateAuthorizationCode({ code, codeVerifier, redirectURI }: {
|
|
2017
|
+
code: string;
|
|
2018
|
+
redirectURI: string;
|
|
2019
|
+
codeVerifier?: string;
|
|
2020
|
+
deviceId?: string;
|
|
2021
|
+
}): Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2022
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2023
|
+
user?: {
|
|
2024
|
+
name?: {
|
|
2025
|
+
firstName?: string;
|
|
2026
|
+
lastName?: string;
|
|
2027
|
+
};
|
|
2028
|
+
email?: string;
|
|
2029
|
+
};
|
|
2030
|
+
}): Promise<{
|
|
2031
|
+
user: {
|
|
2032
|
+
id: string;
|
|
2033
|
+
name?: string;
|
|
2034
|
+
email?: string | null;
|
|
2035
|
+
image?: string;
|
|
2036
|
+
emailVerified: boolean;
|
|
2037
|
+
[key: string]: any;
|
|
2038
|
+
};
|
|
2039
|
+
data: any;
|
|
2040
|
+
} | null>;
|
|
2041
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2042
|
+
options: MicrosoftOptions;
|
|
2043
|
+
};
|
|
2044
|
+
|
|
2045
|
+
interface GithubProfile {
|
|
2046
|
+
login: string;
|
|
2047
|
+
id: string;
|
|
2048
|
+
node_id: string;
|
|
2049
|
+
avatar_url: string;
|
|
2050
|
+
gravatar_id: string;
|
|
2051
|
+
url: string;
|
|
2052
|
+
html_url: string;
|
|
2053
|
+
followers_url: string;
|
|
2054
|
+
following_url: string;
|
|
2055
|
+
gists_url: string;
|
|
2056
|
+
starred_url: string;
|
|
2057
|
+
subscriptions_url: string;
|
|
2058
|
+
organizations_url: string;
|
|
2059
|
+
repos_url: string;
|
|
2060
|
+
events_url: string;
|
|
2061
|
+
received_events_url: string;
|
|
2062
|
+
type: string;
|
|
2063
|
+
site_admin: boolean;
|
|
2064
|
+
name: string;
|
|
2065
|
+
company: string;
|
|
2066
|
+
blog: string;
|
|
2067
|
+
location: string;
|
|
2068
|
+
email: string;
|
|
2069
|
+
hireable: boolean;
|
|
2070
|
+
bio: string;
|
|
2071
|
+
twitter_username: string;
|
|
2072
|
+
public_repos: string;
|
|
2073
|
+
public_gists: string;
|
|
2074
|
+
followers: string;
|
|
2075
|
+
following: string;
|
|
2076
|
+
created_at: string;
|
|
2077
|
+
updated_at: string;
|
|
2078
|
+
private_gists: string;
|
|
2079
|
+
total_private_repos: string;
|
|
2080
|
+
owned_private_repos: string;
|
|
2081
|
+
disk_usage: string;
|
|
2082
|
+
collaborators: string;
|
|
2083
|
+
two_factor_authentication: boolean;
|
|
2084
|
+
plan: {
|
|
2085
|
+
name: string;
|
|
2086
|
+
space: string;
|
|
2087
|
+
private_repos: string;
|
|
2088
|
+
collaborators: string;
|
|
2089
|
+
};
|
|
2090
|
+
}
|
|
2091
|
+
interface GithubOptions extends ProviderOptions<GithubProfile> {
|
|
2092
|
+
clientId: string;
|
|
2093
|
+
}
|
|
2094
|
+
declare const github: (options: GithubOptions) => {
|
|
2095
|
+
id: "github";
|
|
2096
|
+
name: string;
|
|
2097
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
2098
|
+
state: string;
|
|
2099
|
+
codeVerifier: string;
|
|
2100
|
+
scopes?: string[];
|
|
2101
|
+
redirectURI: string;
|
|
2102
|
+
display?: string;
|
|
2103
|
+
loginHint?: string;
|
|
2104
|
+
}): Promise<URL>;
|
|
2105
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2106
|
+
code: string;
|
|
2107
|
+
redirectURI: string;
|
|
2108
|
+
codeVerifier?: string;
|
|
2109
|
+
deviceId?: string;
|
|
2110
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2111
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2112
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2113
|
+
user?: {
|
|
2114
|
+
name?: {
|
|
2115
|
+
firstName?: string;
|
|
2116
|
+
lastName?: string;
|
|
2117
|
+
};
|
|
2118
|
+
email?: string;
|
|
2119
|
+
};
|
|
2120
|
+
}): Promise<{
|
|
2121
|
+
user: {
|
|
2122
|
+
id: string;
|
|
2123
|
+
name?: string;
|
|
2124
|
+
email?: string | null;
|
|
2125
|
+
image?: string;
|
|
2126
|
+
emailVerified: boolean;
|
|
2127
|
+
[key: string]: any;
|
|
2128
|
+
};
|
|
2129
|
+
data: any;
|
|
2130
|
+
} | null>;
|
|
2131
|
+
options: GithubOptions;
|
|
2132
|
+
};
|
|
2133
|
+
|
|
2134
|
+
interface FigmaProfile {
|
|
2135
|
+
id: string;
|
|
2136
|
+
email: string;
|
|
2137
|
+
handle: string;
|
|
2138
|
+
img_url: string;
|
|
2139
|
+
}
|
|
2140
|
+
interface FigmaOptions extends ProviderOptions<FigmaProfile> {
|
|
2141
|
+
clientId: string;
|
|
2142
|
+
}
|
|
2143
|
+
declare const figma: (options: FigmaOptions) => {
|
|
2144
|
+
id: "figma";
|
|
2145
|
+
name: string;
|
|
2146
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2147
|
+
state: string;
|
|
2148
|
+
codeVerifier: string;
|
|
2149
|
+
scopes?: string[];
|
|
2150
|
+
redirectURI: string;
|
|
2151
|
+
display?: string;
|
|
2152
|
+
loginHint?: string;
|
|
2153
|
+
}): Promise<URL>;
|
|
2154
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2155
|
+
code: string;
|
|
2156
|
+
redirectURI: string;
|
|
2157
|
+
codeVerifier?: string;
|
|
2158
|
+
deviceId?: string;
|
|
2159
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2160
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2161
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2162
|
+
user?: {
|
|
2163
|
+
name?: {
|
|
2164
|
+
firstName?: string;
|
|
2165
|
+
lastName?: string;
|
|
2166
|
+
};
|
|
2167
|
+
email?: string;
|
|
2168
|
+
};
|
|
2169
|
+
}): Promise<{
|
|
2170
|
+
user: {
|
|
2171
|
+
id: string;
|
|
2172
|
+
name?: string;
|
|
2173
|
+
email?: string | null;
|
|
2174
|
+
image?: string;
|
|
2175
|
+
emailVerified: boolean;
|
|
2176
|
+
[key: string]: any;
|
|
2177
|
+
};
|
|
2178
|
+
data: any;
|
|
2179
|
+
} | null>;
|
|
2180
|
+
options: FigmaOptions;
|
|
2181
|
+
};
|
|
2182
|
+
|
|
2183
|
+
interface FacebookProfile {
|
|
2184
|
+
id: string;
|
|
2185
|
+
name: string;
|
|
2186
|
+
email: string;
|
|
2187
|
+
email_verified: boolean;
|
|
2188
|
+
picture: {
|
|
2189
|
+
data: {
|
|
2190
|
+
height: number;
|
|
2191
|
+
is_silhouette: boolean;
|
|
2192
|
+
url: string;
|
|
2193
|
+
width: number;
|
|
2194
|
+
};
|
|
2195
|
+
};
|
|
2196
|
+
}
|
|
2197
|
+
interface FacebookOptions extends ProviderOptions<FacebookProfile> {
|
|
2198
|
+
clientId: string;
|
|
2199
|
+
/**
|
|
2200
|
+
* Extend list of fields to retrieve from the Facebook user profile.
|
|
2201
|
+
*
|
|
2202
|
+
* @default ["id", "name", "email", "picture"]
|
|
2203
|
+
*/
|
|
2204
|
+
fields?: string[];
|
|
2205
|
+
/**
|
|
2206
|
+
* The config id to use when undergoing oauth
|
|
2207
|
+
*/
|
|
2208
|
+
configId?: string;
|
|
2209
|
+
}
|
|
2210
|
+
declare const facebook: (options: FacebookOptions) => {
|
|
2211
|
+
id: "facebook";
|
|
2212
|
+
name: string;
|
|
2213
|
+
createAuthorizationURL({ state, scopes, redirectURI, loginHint }: {
|
|
2214
|
+
state: string;
|
|
2215
|
+
codeVerifier: string;
|
|
2216
|
+
scopes?: string[];
|
|
2217
|
+
redirectURI: string;
|
|
2218
|
+
display?: string;
|
|
2219
|
+
loginHint?: string;
|
|
2220
|
+
}): Promise<URL>;
|
|
2221
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2222
|
+
code: string;
|
|
2223
|
+
redirectURI: string;
|
|
2224
|
+
codeVerifier?: string;
|
|
2225
|
+
deviceId?: string;
|
|
2226
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2227
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2228
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2229
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2230
|
+
user?: {
|
|
2231
|
+
name?: {
|
|
2232
|
+
firstName?: string;
|
|
2233
|
+
lastName?: string;
|
|
2234
|
+
};
|
|
2235
|
+
email?: string;
|
|
2236
|
+
};
|
|
2237
|
+
}): Promise<{
|
|
2238
|
+
user: {
|
|
2239
|
+
id: string;
|
|
2240
|
+
name?: string;
|
|
2241
|
+
email?: string | null;
|
|
2242
|
+
image?: string;
|
|
2243
|
+
emailVerified: boolean;
|
|
2244
|
+
[key: string]: any;
|
|
2245
|
+
};
|
|
2246
|
+
data: any;
|
|
2247
|
+
} | null>;
|
|
2248
|
+
options: FacebookOptions;
|
|
2249
|
+
};
|
|
2250
|
+
|
|
2251
|
+
interface DiscordProfile extends Record<string, any> {
|
|
2252
|
+
/** the user's id (i.e. the numerical snowflake) */
|
|
2253
|
+
id: string;
|
|
2254
|
+
/** the user's username, not unique across the platform */
|
|
2255
|
+
username: string;
|
|
2256
|
+
/** the user's Discord-tag */
|
|
2257
|
+
discriminator: string;
|
|
2258
|
+
/** the user's display name, if it is set */
|
|
2259
|
+
global_name: string | null;
|
|
2260
|
+
/**
|
|
2261
|
+
* the user's avatar hash:
|
|
2262
|
+
* https://discord.com/developers/docs/reference#image-formatting
|
|
2263
|
+
*/
|
|
2264
|
+
avatar: string | null;
|
|
2265
|
+
/** whether the user belongs to an OAuth2 application */
|
|
2266
|
+
bot?: boolean;
|
|
2267
|
+
/**
|
|
2268
|
+
* whether the user is an Official Discord System user (part of the urgent
|
|
2269
|
+
* message system)
|
|
2270
|
+
*/
|
|
2271
|
+
system?: boolean;
|
|
2272
|
+
/** whether the user has two factor enabled on their account */
|
|
2273
|
+
mfa_enabled: boolean;
|
|
2274
|
+
/**
|
|
2275
|
+
* the user's banner hash:
|
|
2276
|
+
* https://discord.com/developers/docs/reference#image-formatting
|
|
2277
|
+
*/
|
|
2278
|
+
banner: string | null;
|
|
2279
|
+
/** the user's banner color encoded as an integer representation of hexadecimal color code */
|
|
2280
|
+
accent_color: number | null;
|
|
2281
|
+
/**
|
|
2282
|
+
* the user's chosen language option:
|
|
2283
|
+
* https://discord.com/developers/docs/reference#locales
|
|
2284
|
+
*/
|
|
2285
|
+
locale: string;
|
|
2286
|
+
/** whether the email on this account has been verified */
|
|
2287
|
+
verified: boolean;
|
|
2288
|
+
/** the user's email */
|
|
2289
|
+
email: string;
|
|
2290
|
+
/**
|
|
2291
|
+
* the flags on a user's account:
|
|
2292
|
+
* https://discord.com/developers/docs/resources/user#user-object-user-flags
|
|
2293
|
+
*/
|
|
2294
|
+
flags: number;
|
|
2295
|
+
/**
|
|
2296
|
+
* the type of Nitro subscription on a user's account:
|
|
2297
|
+
* https://discord.com/developers/docs/resources/user#user-object-premium-types
|
|
2298
|
+
*/
|
|
2299
|
+
premium_type: number;
|
|
2300
|
+
/**
|
|
2301
|
+
* the public flags on a user's account:
|
|
2302
|
+
* https://discord.com/developers/docs/resources/user#user-object-user-flags
|
|
2303
|
+
*/
|
|
2304
|
+
public_flags: number;
|
|
2305
|
+
/** undocumented field; corresponds to the user's custom nickname */
|
|
2306
|
+
display_name: string | null;
|
|
2307
|
+
/**
|
|
2308
|
+
* undocumented field; corresponds to the Discord feature where you can e.g.
|
|
2309
|
+
* put your avatar inside of an ice cube
|
|
2310
|
+
*/
|
|
2311
|
+
avatar_decoration: string | null;
|
|
2312
|
+
/**
|
|
2313
|
+
* undocumented field; corresponds to the premium feature where you can
|
|
2314
|
+
* select a custom banner color
|
|
2315
|
+
*/
|
|
2316
|
+
banner_color: string | null;
|
|
2317
|
+
/** undocumented field; the CDN URL of their profile picture */
|
|
2318
|
+
image_url: string;
|
|
2319
|
+
}
|
|
2320
|
+
interface DiscordOptions extends ProviderOptions<DiscordProfile> {
|
|
2321
|
+
clientId: string;
|
|
2322
|
+
prompt?: "none" | "consent";
|
|
2323
|
+
permissions?: number;
|
|
2324
|
+
}
|
|
2325
|
+
declare const discord: (options: DiscordOptions) => {
|
|
2326
|
+
id: "discord";
|
|
2327
|
+
name: string;
|
|
2328
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
2329
|
+
state: string;
|
|
2330
|
+
codeVerifier: string;
|
|
2331
|
+
scopes?: string[];
|
|
2332
|
+
redirectURI: string;
|
|
2333
|
+
display?: string;
|
|
2334
|
+
loginHint?: string;
|
|
2335
|
+
}): URL;
|
|
2336
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2337
|
+
code: string;
|
|
2338
|
+
redirectURI: string;
|
|
2339
|
+
codeVerifier?: string;
|
|
2340
|
+
deviceId?: string;
|
|
2341
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2342
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2343
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2344
|
+
user?: {
|
|
2345
|
+
name?: {
|
|
2346
|
+
firstName? /** the user's banner color encoded as an integer representation of hexadecimal color code */: string;
|
|
2347
|
+
lastName?: string;
|
|
2348
|
+
};
|
|
2349
|
+
email?: string;
|
|
2350
|
+
};
|
|
2351
|
+
}): Promise<{
|
|
2352
|
+
user: {
|
|
2353
|
+
id: string;
|
|
2354
|
+
name?: string;
|
|
2355
|
+
email?: string | null;
|
|
2356
|
+
image?: string;
|
|
2357
|
+
emailVerified: boolean;
|
|
2358
|
+
[key: string]: any;
|
|
2359
|
+
};
|
|
2360
|
+
data: any;
|
|
2361
|
+
} | null>;
|
|
2362
|
+
options: DiscordOptions;
|
|
2363
|
+
};
|
|
2364
|
+
|
|
2365
|
+
interface CognitoProfile {
|
|
2366
|
+
sub: string;
|
|
2367
|
+
email: string;
|
|
2368
|
+
email_verified: boolean;
|
|
2369
|
+
name: string;
|
|
2370
|
+
given_name?: string;
|
|
2371
|
+
family_name?: string;
|
|
2372
|
+
picture?: string;
|
|
2373
|
+
username?: string;
|
|
2374
|
+
locale?: string;
|
|
2375
|
+
phone_number?: string;
|
|
2376
|
+
phone_number_verified?: boolean;
|
|
2377
|
+
aud: string;
|
|
2378
|
+
iss: string;
|
|
2379
|
+
exp: number;
|
|
2380
|
+
iat: number;
|
|
2381
|
+
[key: string]: any;
|
|
2382
|
+
}
|
|
2383
|
+
interface CognitoOptions extends ProviderOptions<CognitoProfile> {
|
|
2384
|
+
clientId: string;
|
|
2385
|
+
/**
|
|
2386
|
+
* The Cognito domain (e.g., "your-app.auth.us-east-1.amazoncognito.com")
|
|
2387
|
+
*/
|
|
2388
|
+
domain: string;
|
|
2389
|
+
/**
|
|
2390
|
+
* AWS region where User Pool is hosted (e.g., "us-east-1")
|
|
2391
|
+
*/
|
|
2392
|
+
region: string;
|
|
2393
|
+
userPoolId: string;
|
|
2394
|
+
requireClientSecret?: boolean;
|
|
2395
|
+
}
|
|
2396
|
+
declare const cognito: (options: CognitoOptions) => {
|
|
2397
|
+
id: "cognito";
|
|
2398
|
+
name: string;
|
|
2399
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2400
|
+
state: string;
|
|
2401
|
+
codeVerifier: string;
|
|
2402
|
+
scopes?: string[];
|
|
2403
|
+
redirectURI: string;
|
|
2404
|
+
display?: string;
|
|
2405
|
+
loginHint?: string;
|
|
2406
|
+
}): Promise<URL>;
|
|
2407
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2408
|
+
code: string;
|
|
2409
|
+
redirectURI: string;
|
|
2410
|
+
codeVerifier?: string;
|
|
2411
|
+
deviceId?: string;
|
|
2412
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2413
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2414
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2415
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2416
|
+
user?: {
|
|
2417
|
+
name?: {
|
|
2418
|
+
firstName?: string;
|
|
2419
|
+
lastName?: string;
|
|
2420
|
+
};
|
|
2421
|
+
email?: string;
|
|
2422
|
+
};
|
|
2423
|
+
}): Promise<{
|
|
2424
|
+
user: {
|
|
2425
|
+
id: string;
|
|
2426
|
+
name?: string;
|
|
2427
|
+
email?: string | null;
|
|
2428
|
+
image?: string;
|
|
2429
|
+
emailVerified: boolean;
|
|
2430
|
+
[key: string]: any;
|
|
2431
|
+
};
|
|
2432
|
+
data: any;
|
|
2433
|
+
} | null>;
|
|
2434
|
+
options: CognitoOptions;
|
|
2435
|
+
};
|
|
2436
|
+
declare const getCognitoPublicKey: (kid: string, region: string, userPoolId: string) => Promise<CryptoKey | Uint8Array<ArrayBufferLike>>;
|
|
2437
|
+
|
|
2438
|
+
interface AtlassianProfile {
|
|
2439
|
+
account_type?: string;
|
|
2440
|
+
account_id: string;
|
|
2441
|
+
email?: string;
|
|
2442
|
+
name: string;
|
|
2443
|
+
picture?: string;
|
|
2444
|
+
nickname?: string;
|
|
2445
|
+
locale?: string;
|
|
2446
|
+
extended_profile?: {
|
|
2447
|
+
job_title?: string;
|
|
2448
|
+
organization?: string;
|
|
2449
|
+
department?: string;
|
|
2450
|
+
location?: string;
|
|
2451
|
+
};
|
|
2452
|
+
}
|
|
2453
|
+
interface AtlassianOptions extends ProviderOptions<AtlassianProfile> {
|
|
2454
|
+
clientId: string;
|
|
2455
|
+
}
|
|
2456
|
+
declare const atlassian: (options: AtlassianOptions) => {
|
|
2457
|
+
id: "atlassian";
|
|
2458
|
+
name: string;
|
|
2459
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2460
|
+
state: string;
|
|
2461
|
+
codeVerifier: string;
|
|
2462
|
+
scopes?: string[];
|
|
2463
|
+
redirectURI: string;
|
|
2464
|
+
display?: string;
|
|
2465
|
+
loginHint?: string;
|
|
2466
|
+
}): Promise<URL>;
|
|
2467
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2468
|
+
code: string;
|
|
2469
|
+
redirectURI: string;
|
|
2470
|
+
codeVerifier?: string;
|
|
2471
|
+
deviceId?: string;
|
|
2472
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2473
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2474
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2475
|
+
user?: {
|
|
2476
|
+
name?: {
|
|
2477
|
+
firstName?: string;
|
|
2478
|
+
lastName?: string;
|
|
2479
|
+
};
|
|
2480
|
+
email?: string;
|
|
2481
|
+
};
|
|
2482
|
+
}): Promise<{
|
|
2483
|
+
user: {
|
|
2484
|
+
id: string;
|
|
2485
|
+
name?: string;
|
|
2486
|
+
email?: string | null;
|
|
2487
|
+
image?: string;
|
|
2488
|
+
emailVerified: boolean;
|
|
2489
|
+
[key: string]: any;
|
|
2490
|
+
};
|
|
2491
|
+
data: any;
|
|
2492
|
+
} | null>;
|
|
2493
|
+
options: AtlassianOptions;
|
|
2494
|
+
};
|
|
2495
|
+
|
|
2496
|
+
interface AppleProfile {
|
|
2497
|
+
/**
|
|
2498
|
+
* The subject registered claim identifies the principal that’s the subject
|
|
2499
|
+
* of the identity token. Because this token is for your app, the value is
|
|
2500
|
+
* the unique identifier for the user.
|
|
2501
|
+
*/
|
|
2502
|
+
sub: string;
|
|
2503
|
+
/**
|
|
2504
|
+
* A String value representing the user's email address.
|
|
2505
|
+
* The email address is either the user's real email address or the proxy
|
|
2506
|
+
* address, depending on their status private email relay service.
|
|
2507
|
+
*/
|
|
2508
|
+
email: string;
|
|
2509
|
+
/**
|
|
2510
|
+
* A string or Boolean value that indicates whether the service verifies
|
|
2511
|
+
* the email. The value can either be a string ("true" or "false") or a
|
|
2512
|
+
* Boolean (true or false). The system may not verify email addresses for
|
|
2513
|
+
* Sign in with Apple at Work & School users, and this claim is "false" or
|
|
2514
|
+
* false for those users.
|
|
2515
|
+
*/
|
|
2516
|
+
email_verified: true | "true";
|
|
2517
|
+
/**
|
|
2518
|
+
* A string or Boolean value that indicates whether the email that the user
|
|
2519
|
+
* shares is the proxy address. The value can either be a string ("true" or
|
|
2520
|
+
* "false") or a Boolean (true or false).
|
|
2521
|
+
*/
|
|
2522
|
+
is_private_email: boolean;
|
|
2523
|
+
/**
|
|
2524
|
+
* An Integer value that indicates whether the user appears to be a real
|
|
2525
|
+
* person. Use the value of this claim to mitigate fraud. The possible
|
|
2526
|
+
* values are: 0 (or Unsupported), 1 (or Unknown), 2 (or LikelyReal). For
|
|
2527
|
+
* more information, see ASUserDetectionStatus. This claim is present only
|
|
2528
|
+
* in iOS 14 and later, macOS 11 and later, watchOS 7 and later, tvOS 14
|
|
2529
|
+
* and later. The claim isn’t present or supported for web-based apps.
|
|
2530
|
+
*/
|
|
2531
|
+
real_user_status: number;
|
|
2532
|
+
/**
|
|
2533
|
+
* The user’s full name in the format provided during the authorization
|
|
2534
|
+
* process.
|
|
2535
|
+
*/
|
|
2536
|
+
name: string;
|
|
2537
|
+
/**
|
|
2538
|
+
* The URL to the user's profile picture.
|
|
2539
|
+
*/
|
|
2540
|
+
picture: string;
|
|
2541
|
+
user?: AppleNonConformUser;
|
|
2542
|
+
}
|
|
2543
|
+
/**
|
|
2544
|
+
* This is the shape of the `user` query parameter that Apple sends the first
|
|
2545
|
+
* time the user consents to the app.
|
|
2546
|
+
* @see https://developer.apple.com/documentation/signinwithapplerestapi/request-an-authorization-to-the-sign-in-with-apple-server./
|
|
2547
|
+
*/
|
|
2548
|
+
interface AppleNonConformUser {
|
|
2549
|
+
name: {
|
|
2550
|
+
firstName: string;
|
|
2551
|
+
lastName: string;
|
|
2552
|
+
};
|
|
2553
|
+
email: string;
|
|
2554
|
+
}
|
|
2555
|
+
interface AppleOptions extends ProviderOptions<AppleProfile> {
|
|
2556
|
+
clientId: string;
|
|
2557
|
+
appBundleIdentifier?: string;
|
|
2558
|
+
audience?: string | string[];
|
|
2559
|
+
}
|
|
2560
|
+
declare const apple: (options: AppleOptions) => {
|
|
2561
|
+
id: "apple";
|
|
2562
|
+
name: string;
|
|
2563
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
2564
|
+
state: string;
|
|
2565
|
+
codeVerifier: string;
|
|
2566
|
+
scopes?: string[];
|
|
2567
|
+
redirectURI: string;
|
|
2568
|
+
display?: string;
|
|
2569
|
+
loginHint?: string;
|
|
2570
|
+
}): Promise<URL>;
|
|
2571
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2572
|
+
code: string;
|
|
2573
|
+
redirectURI: string;
|
|
2574
|
+
codeVerifier?: string;
|
|
2575
|
+
deviceId?: string;
|
|
2576
|
+
}) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2577
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2578
|
+
refreshAccessToken: (refreshToken: string) => Promise<_better_auth_core_oauth2.OAuth2Tokens>;
|
|
2579
|
+
getUserInfo(token: _better_auth_core_oauth2.OAuth2Tokens & {
|
|
2580
|
+
user?: {
|
|
2581
|
+
name?: {
|
|
2582
|
+
firstName?: string;
|
|
2583
|
+
lastName?: string;
|
|
2584
|
+
};
|
|
2585
|
+
email?: string;
|
|
2586
|
+
};
|
|
2587
|
+
}): Promise<{
|
|
2588
|
+
user: {
|
|
2589
|
+
id: string;
|
|
2590
|
+
name?: string;
|
|
2591
|
+
email?: string | null;
|
|
2592
|
+
image?: string;
|
|
2593
|
+
emailVerified: boolean;
|
|
2594
|
+
[key: string]: any;
|
|
2595
|
+
};
|
|
2596
|
+
data: any;
|
|
2597
|
+
} | null>;
|
|
2598
|
+
options: AppleOptions;
|
|
2599
|
+
};
|
|
2600
|
+
declare const getApplePublicKey: (kid: string) => Promise<CryptoKey | Uint8Array<ArrayBufferLike>>;
|
|
2601
|
+
|
|
2602
|
+
declare const socialProviders: {
|
|
2603
|
+
apple: (options: AppleOptions) => {
|
|
2604
|
+
id: "apple";
|
|
2605
|
+
name: string;
|
|
2606
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
2607
|
+
state: string;
|
|
2608
|
+
codeVerifier: string;
|
|
2609
|
+
scopes?: string[];
|
|
2610
|
+
redirectURI: string;
|
|
2611
|
+
display?: string;
|
|
2612
|
+
loginHint?: string;
|
|
2613
|
+
}): Promise<URL>;
|
|
2614
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2615
|
+
code: string;
|
|
2616
|
+
redirectURI: string;
|
|
2617
|
+
codeVerifier?: string;
|
|
2618
|
+
deviceId?: string;
|
|
2619
|
+
}) => Promise<OAuth2Tokens>;
|
|
2620
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2621
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2622
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2623
|
+
user?: {
|
|
2624
|
+
name?: {
|
|
2625
|
+
firstName?: string;
|
|
2626
|
+
lastName?: string;
|
|
2627
|
+
};
|
|
2628
|
+
email?: string;
|
|
2629
|
+
};
|
|
2630
|
+
}): Promise<{
|
|
2631
|
+
user: {
|
|
2632
|
+
id: string;
|
|
2633
|
+
name?: string;
|
|
2634
|
+
email?: string | null;
|
|
2635
|
+
image?: string;
|
|
2636
|
+
emailVerified: boolean;
|
|
2637
|
+
[key: string]: any;
|
|
2638
|
+
};
|
|
2639
|
+
data: any;
|
|
2640
|
+
} | null>;
|
|
2641
|
+
options: AppleOptions;
|
|
2642
|
+
};
|
|
2643
|
+
atlassian: (options: AtlassianOptions) => {
|
|
2644
|
+
id: "atlassian";
|
|
2645
|
+
name: string;
|
|
2646
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2647
|
+
state: string;
|
|
2648
|
+
codeVerifier: string;
|
|
2649
|
+
scopes?: string[];
|
|
2650
|
+
redirectURI: string;
|
|
2651
|
+
display?: string;
|
|
2652
|
+
loginHint?: string;
|
|
2653
|
+
}): Promise<URL>;
|
|
2654
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2655
|
+
code: string;
|
|
2656
|
+
redirectURI: string;
|
|
2657
|
+
codeVerifier?: string;
|
|
2658
|
+
deviceId?: string;
|
|
2659
|
+
}) => Promise<OAuth2Tokens>;
|
|
2660
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2661
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2662
|
+
user?: {
|
|
2663
|
+
name?: {
|
|
2664
|
+
firstName?: string;
|
|
2665
|
+
lastName?: string;
|
|
2666
|
+
};
|
|
2667
|
+
email?: string;
|
|
2668
|
+
};
|
|
2669
|
+
}): Promise<{
|
|
2670
|
+
user: {
|
|
2671
|
+
id: string;
|
|
2672
|
+
name?: string;
|
|
2673
|
+
email?: string | null;
|
|
2674
|
+
image?: string;
|
|
2675
|
+
emailVerified: boolean;
|
|
2676
|
+
[key: string]: any;
|
|
2677
|
+
};
|
|
2678
|
+
data: any;
|
|
2679
|
+
} | null>;
|
|
2680
|
+
options: AtlassianOptions;
|
|
2681
|
+
};
|
|
2682
|
+
cognito: (options: CognitoOptions) => {
|
|
2683
|
+
id: "cognito";
|
|
2684
|
+
name: string;
|
|
2685
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2686
|
+
state: string;
|
|
2687
|
+
codeVerifier: string;
|
|
2688
|
+
scopes?: string[];
|
|
2689
|
+
redirectURI: string;
|
|
2690
|
+
display?: string;
|
|
2691
|
+
loginHint?: string;
|
|
2692
|
+
}): Promise<URL>;
|
|
2693
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2694
|
+
code: string;
|
|
2695
|
+
redirectURI: string;
|
|
2696
|
+
codeVerifier?: string;
|
|
2697
|
+
deviceId?: string;
|
|
2698
|
+
}) => Promise<OAuth2Tokens>;
|
|
2699
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2700
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2701
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2702
|
+
user?: {
|
|
2703
|
+
name?: {
|
|
2704
|
+
firstName?: string;
|
|
2705
|
+
lastName?: string;
|
|
2706
|
+
};
|
|
2707
|
+
email?: string;
|
|
2708
|
+
};
|
|
2709
|
+
}): Promise<{
|
|
2710
|
+
user: {
|
|
2711
|
+
id: string;
|
|
2712
|
+
name?: string;
|
|
2713
|
+
email?: string | null;
|
|
2714
|
+
image?: string;
|
|
2715
|
+
emailVerified: boolean;
|
|
2716
|
+
[key: string]: any;
|
|
2717
|
+
};
|
|
2718
|
+
data: any;
|
|
2719
|
+
} | null>;
|
|
2720
|
+
options: CognitoOptions;
|
|
2721
|
+
};
|
|
2722
|
+
discord: (options: DiscordOptions) => {
|
|
2723
|
+
id: "discord";
|
|
2724
|
+
name: string;
|
|
2725
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
2726
|
+
state: string;
|
|
2727
|
+
codeVerifier: string;
|
|
2728
|
+
scopes?: string[];
|
|
2729
|
+
redirectURI: string;
|
|
2730
|
+
display?: string;
|
|
2731
|
+
loginHint?: string;
|
|
2732
|
+
}): URL;
|
|
2733
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2734
|
+
code: string;
|
|
2735
|
+
redirectURI: string;
|
|
2736
|
+
codeVerifier?: string;
|
|
2737
|
+
deviceId?: string;
|
|
2738
|
+
}) => Promise<OAuth2Tokens>;
|
|
2739
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2740
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2741
|
+
user?: {
|
|
2742
|
+
name?: {
|
|
2743
|
+
firstName?: string;
|
|
2744
|
+
lastName?: string;
|
|
2745
|
+
};
|
|
2746
|
+
email?: string;
|
|
2747
|
+
};
|
|
2748
|
+
}): Promise<{
|
|
2749
|
+
user: {
|
|
2750
|
+
id: string;
|
|
2751
|
+
name?: string;
|
|
2752
|
+
email?: string | null;
|
|
2753
|
+
image?: string;
|
|
2754
|
+
emailVerified: boolean;
|
|
2755
|
+
[key: string]: any;
|
|
2756
|
+
};
|
|
2757
|
+
data: any;
|
|
2758
|
+
} | null>;
|
|
2759
|
+
options: DiscordOptions;
|
|
2760
|
+
};
|
|
2761
|
+
facebook: (options: FacebookOptions) => {
|
|
2762
|
+
id: "facebook";
|
|
2763
|
+
name: string;
|
|
2764
|
+
createAuthorizationURL({ state, scopes, redirectURI, loginHint }: {
|
|
2765
|
+
state: string;
|
|
2766
|
+
codeVerifier: string;
|
|
2767
|
+
scopes?: string[];
|
|
2768
|
+
redirectURI: string;
|
|
2769
|
+
display?: string;
|
|
2770
|
+
loginHint?: string;
|
|
2771
|
+
}): Promise<URL>;
|
|
2772
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2773
|
+
code: string;
|
|
2774
|
+
redirectURI: string;
|
|
2775
|
+
codeVerifier?: string;
|
|
2776
|
+
deviceId?: string;
|
|
2777
|
+
}) => Promise<OAuth2Tokens>;
|
|
2778
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2779
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2780
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2781
|
+
user?: {
|
|
2782
|
+
name?: {
|
|
2783
|
+
firstName?: string;
|
|
2784
|
+
lastName?: string;
|
|
2785
|
+
};
|
|
2786
|
+
email?: string;
|
|
2787
|
+
};
|
|
2788
|
+
}): Promise<{
|
|
2789
|
+
user: {
|
|
2790
|
+
id: string;
|
|
2791
|
+
name?: string;
|
|
2792
|
+
email?: string | null;
|
|
2793
|
+
image?: string;
|
|
2794
|
+
emailVerified: boolean;
|
|
2795
|
+
[key: string]: any;
|
|
2796
|
+
};
|
|
2797
|
+
data: any;
|
|
2798
|
+
} | null>;
|
|
2799
|
+
options: FacebookOptions;
|
|
2800
|
+
};
|
|
2801
|
+
figma: (options: FigmaOptions) => {
|
|
2802
|
+
id: "figma";
|
|
2803
|
+
name: string;
|
|
2804
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2805
|
+
state: string;
|
|
2806
|
+
codeVerifier: string;
|
|
2807
|
+
scopes?: string[];
|
|
2808
|
+
redirectURI: string;
|
|
2809
|
+
display?: string;
|
|
2810
|
+
loginHint?: string;
|
|
2811
|
+
}): Promise<URL>;
|
|
2812
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2813
|
+
code: string;
|
|
2814
|
+
redirectURI: string;
|
|
2815
|
+
codeVerifier?: string;
|
|
2816
|
+
deviceId?: string;
|
|
2817
|
+
}) => Promise<OAuth2Tokens>;
|
|
2818
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2819
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2820
|
+
user?: {
|
|
2821
|
+
name?: {
|
|
2822
|
+
firstName?: string;
|
|
2823
|
+
lastName?: string;
|
|
2824
|
+
};
|
|
2825
|
+
email?: string;
|
|
2826
|
+
};
|
|
2827
|
+
}): Promise<{
|
|
2828
|
+
user: {
|
|
2829
|
+
id: string;
|
|
2830
|
+
name?: string;
|
|
2831
|
+
email?: string | null;
|
|
2832
|
+
image?: string;
|
|
2833
|
+
emailVerified: boolean;
|
|
2834
|
+
[key: string]: any;
|
|
2835
|
+
};
|
|
2836
|
+
data: any;
|
|
2837
|
+
} | null>;
|
|
2838
|
+
options: FigmaOptions;
|
|
2839
|
+
};
|
|
2840
|
+
github: (options: GithubOptions) => {
|
|
2841
|
+
id: "github";
|
|
2842
|
+
name: string;
|
|
2843
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
2844
|
+
state: string;
|
|
2845
|
+
codeVerifier: string;
|
|
2846
|
+
scopes?: string[];
|
|
2847
|
+
redirectURI: string;
|
|
2848
|
+
display?: string;
|
|
2849
|
+
loginHint?: string;
|
|
2850
|
+
}): Promise<URL>;
|
|
2851
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
2852
|
+
code: string;
|
|
2853
|
+
redirectURI: string;
|
|
2854
|
+
codeVerifier?: string;
|
|
2855
|
+
deviceId?: string;
|
|
2856
|
+
}) => Promise<OAuth2Tokens>;
|
|
2857
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2858
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2859
|
+
user?: {
|
|
2860
|
+
name?: {
|
|
2861
|
+
firstName?: string;
|
|
2862
|
+
lastName?: string;
|
|
2863
|
+
};
|
|
2864
|
+
email?: string;
|
|
2865
|
+
};
|
|
2866
|
+
}): Promise<{
|
|
2867
|
+
user: {
|
|
2868
|
+
id: string;
|
|
2869
|
+
name?: string;
|
|
2870
|
+
email?: string | null;
|
|
2871
|
+
image?: string;
|
|
2872
|
+
emailVerified: boolean;
|
|
2873
|
+
[key: string]: any;
|
|
2874
|
+
};
|
|
2875
|
+
data: any;
|
|
2876
|
+
} | null>;
|
|
2877
|
+
options: GithubOptions;
|
|
2878
|
+
};
|
|
2879
|
+
microsoft: (options: MicrosoftOptions) => {
|
|
2880
|
+
id: "microsoft";
|
|
2881
|
+
name: string;
|
|
2882
|
+
createAuthorizationURL(data: {
|
|
2883
|
+
state: string;
|
|
2884
|
+
codeVerifier: string;
|
|
2885
|
+
scopes?: string[];
|
|
2886
|
+
redirectURI: string;
|
|
2887
|
+
display?: string;
|
|
2888
|
+
loginHint?: string;
|
|
2889
|
+
}): Promise<URL>;
|
|
2890
|
+
validateAuthorizationCode({ code, codeVerifier, redirectURI }: {
|
|
2891
|
+
code: string;
|
|
2892
|
+
redirectURI: string;
|
|
2893
|
+
codeVerifier?: string;
|
|
2894
|
+
deviceId?: string;
|
|
2895
|
+
}): Promise<OAuth2Tokens>;
|
|
2896
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2897
|
+
user?: {
|
|
2898
|
+
name?: {
|
|
2899
|
+
firstName?: string;
|
|
2900
|
+
lastName?: string;
|
|
2901
|
+
};
|
|
2902
|
+
email?: string;
|
|
2903
|
+
};
|
|
2904
|
+
}): Promise<{
|
|
2905
|
+
user: {
|
|
2906
|
+
id: string;
|
|
2907
|
+
name?: string;
|
|
2908
|
+
email?: string | null;
|
|
2909
|
+
image?: string;
|
|
2910
|
+
emailVerified: boolean;
|
|
2911
|
+
[key: string]: any;
|
|
2912
|
+
};
|
|
2913
|
+
data: any;
|
|
2914
|
+
} | null>;
|
|
2915
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2916
|
+
options: MicrosoftOptions;
|
|
2917
|
+
};
|
|
2918
|
+
google: (options: GoogleOptions) => {
|
|
2919
|
+
id: "google";
|
|
2920
|
+
name: string;
|
|
2921
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI, loginHint, display, }: {
|
|
2922
|
+
state: string;
|
|
2923
|
+
codeVerifier: string;
|
|
2924
|
+
scopes?: string[];
|
|
2925
|
+
redirectURI: string;
|
|
2926
|
+
display?: string;
|
|
2927
|
+
loginHint?: string;
|
|
2928
|
+
}): Promise<URL>;
|
|
2929
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2930
|
+
code: string;
|
|
2931
|
+
redirectURI: string;
|
|
2932
|
+
codeVerifier?: string;
|
|
2933
|
+
deviceId?: string;
|
|
2934
|
+
}) => Promise<OAuth2Tokens>;
|
|
2935
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2936
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
2937
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2938
|
+
user?: {
|
|
2939
|
+
name?: {
|
|
2940
|
+
firstName?: string;
|
|
2941
|
+
lastName?: string;
|
|
2942
|
+
};
|
|
2943
|
+
email?: string;
|
|
2944
|
+
};
|
|
2945
|
+
}): Promise<{
|
|
2946
|
+
user: {
|
|
2947
|
+
id: string;
|
|
2948
|
+
name?: string;
|
|
2949
|
+
email?: string | null;
|
|
2950
|
+
image?: string;
|
|
2951
|
+
emailVerified: boolean;
|
|
2952
|
+
[key: string]: any;
|
|
2953
|
+
};
|
|
2954
|
+
data: any;
|
|
2955
|
+
} | null>;
|
|
2956
|
+
options: GoogleOptions;
|
|
2957
|
+
};
|
|
2958
|
+
huggingface: (options: HuggingFaceOptions) => {
|
|
2959
|
+
id: "huggingface";
|
|
2960
|
+
name: string;
|
|
2961
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
2962
|
+
state: string;
|
|
2963
|
+
codeVerifier: string;
|
|
2964
|
+
scopes?: string[];
|
|
2965
|
+
redirectURI: string;
|
|
2966
|
+
display?: string;
|
|
2967
|
+
loginHint?: string;
|
|
2968
|
+
}): Promise<URL>;
|
|
2969
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
2970
|
+
code: string;
|
|
2971
|
+
redirectURI: string;
|
|
2972
|
+
codeVerifier?: string;
|
|
2973
|
+
deviceId?: string;
|
|
2974
|
+
}) => Promise<OAuth2Tokens>;
|
|
2975
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
2976
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
2977
|
+
user?: {
|
|
2978
|
+
name?: {
|
|
2979
|
+
firstName?: string;
|
|
2980
|
+
lastName?: string;
|
|
2981
|
+
};
|
|
2982
|
+
email?: string;
|
|
2983
|
+
};
|
|
2984
|
+
}): Promise<{
|
|
2985
|
+
user: {
|
|
2986
|
+
id: string;
|
|
2987
|
+
name?: string;
|
|
2988
|
+
email?: string | null;
|
|
2989
|
+
image?: string;
|
|
2990
|
+
emailVerified: boolean;
|
|
2991
|
+
[key: string]: any;
|
|
2992
|
+
};
|
|
2993
|
+
data: any;
|
|
2994
|
+
} | null>;
|
|
2995
|
+
options: HuggingFaceOptions;
|
|
2996
|
+
};
|
|
2997
|
+
slack: (options: SlackOptions) => {
|
|
2998
|
+
id: "slack";
|
|
2999
|
+
name: string;
|
|
3000
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3001
|
+
state: string;
|
|
3002
|
+
codeVerifier: string;
|
|
3003
|
+
scopes?: string[];
|
|
3004
|
+
redirectURI: string;
|
|
3005
|
+
display?: string;
|
|
3006
|
+
loginHint?: string;
|
|
3007
|
+
}): URL;
|
|
3008
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3009
|
+
code: string;
|
|
3010
|
+
redirectURI: string;
|
|
3011
|
+
codeVerifier?: string;
|
|
3012
|
+
deviceId?: string;
|
|
3013
|
+
}) => Promise<OAuth2Tokens>;
|
|
3014
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3015
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3016
|
+
user?: {
|
|
3017
|
+
name?: {
|
|
3018
|
+
firstName?: string;
|
|
3019
|
+
lastName?: string;
|
|
3020
|
+
};
|
|
3021
|
+
email?: string;
|
|
3022
|
+
};
|
|
3023
|
+
}): Promise<{
|
|
3024
|
+
user: {
|
|
3025
|
+
id: string;
|
|
3026
|
+
name?: string;
|
|
3027
|
+
email?: string | null;
|
|
3028
|
+
image?: string;
|
|
3029
|
+
emailVerified: boolean;
|
|
3030
|
+
[key: string]: any;
|
|
3031
|
+
};
|
|
3032
|
+
data: any;
|
|
3033
|
+
} | null>;
|
|
3034
|
+
options: SlackOptions;
|
|
3035
|
+
};
|
|
3036
|
+
spotify: (options: SpotifyOptions) => {
|
|
3037
|
+
id: "spotify";
|
|
3038
|
+
name: string;
|
|
3039
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
3040
|
+
state: string;
|
|
3041
|
+
codeVerifier: string;
|
|
3042
|
+
scopes?: string[];
|
|
3043
|
+
redirectURI: string;
|
|
3044
|
+
display?: string;
|
|
3045
|
+
loginHint?: string;
|
|
3046
|
+
}): Promise<URL>;
|
|
3047
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
3048
|
+
code: string;
|
|
3049
|
+
redirectURI: string;
|
|
3050
|
+
codeVerifier?: string;
|
|
3051
|
+
deviceId?: string;
|
|
3052
|
+
}) => Promise<OAuth2Tokens>;
|
|
3053
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3054
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3055
|
+
user?: {
|
|
3056
|
+
name?: {
|
|
3057
|
+
firstName?: string;
|
|
3058
|
+
lastName?: string;
|
|
3059
|
+
};
|
|
3060
|
+
email?: string;
|
|
3061
|
+
};
|
|
3062
|
+
}): Promise<{
|
|
3063
|
+
user: {
|
|
3064
|
+
id: string;
|
|
3065
|
+
name?: string;
|
|
3066
|
+
email?: string | null;
|
|
3067
|
+
image?: string;
|
|
3068
|
+
emailVerified: boolean;
|
|
3069
|
+
[key: string]: any;
|
|
3070
|
+
};
|
|
3071
|
+
data: any;
|
|
3072
|
+
} | null>;
|
|
3073
|
+
options: SpotifyOptions;
|
|
3074
|
+
};
|
|
3075
|
+
twitch: (options: TwitchOptions) => {
|
|
3076
|
+
id: "twitch";
|
|
3077
|
+
name: string;
|
|
3078
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3079
|
+
state: string;
|
|
3080
|
+
codeVerifier: string;
|
|
3081
|
+
scopes?: string[];
|
|
3082
|
+
redirectURI: string;
|
|
3083
|
+
display?: string;
|
|
3084
|
+
loginHint?: string;
|
|
3085
|
+
}): Promise<URL>;
|
|
3086
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3087
|
+
code: string;
|
|
3088
|
+
redirectURI: string;
|
|
3089
|
+
codeVerifier?: string;
|
|
3090
|
+
deviceId?: string;
|
|
3091
|
+
}) => Promise<OAuth2Tokens>;
|
|
3092
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3093
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3094
|
+
user?: {
|
|
3095
|
+
name?: {
|
|
3096
|
+
firstName?: string;
|
|
3097
|
+
lastName?: string;
|
|
3098
|
+
};
|
|
3099
|
+
email?: string;
|
|
3100
|
+
};
|
|
3101
|
+
}): Promise<{
|
|
3102
|
+
user: {
|
|
3103
|
+
id: string;
|
|
3104
|
+
name?: string;
|
|
3105
|
+
email?: string | null;
|
|
3106
|
+
image?: string;
|
|
3107
|
+
emailVerified: boolean;
|
|
3108
|
+
[key: string]: any;
|
|
3109
|
+
};
|
|
3110
|
+
data: any;
|
|
3111
|
+
} | null>;
|
|
3112
|
+
options: TwitchOptions;
|
|
3113
|
+
};
|
|
3114
|
+
twitter: (options: TwitterOption) => {
|
|
3115
|
+
id: "twitter";
|
|
3116
|
+
name: string;
|
|
3117
|
+
createAuthorizationURL(data: {
|
|
3118
|
+
state: string;
|
|
3119
|
+
codeVerifier: string;
|
|
3120
|
+
scopes?: string[];
|
|
3121
|
+
redirectURI: string;
|
|
3122
|
+
display?: string;
|
|
3123
|
+
loginHint?: string;
|
|
3124
|
+
}): Promise<URL>;
|
|
3125
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
3126
|
+
code: string;
|
|
3127
|
+
redirectURI: string;
|
|
3128
|
+
codeVerifier?: string;
|
|
3129
|
+
deviceId?: string;
|
|
3130
|
+
}) => Promise<OAuth2Tokens>;
|
|
3131
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3132
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3133
|
+
user?: {
|
|
3134
|
+
name?: {
|
|
3135
|
+
firstName?: string;
|
|
3136
|
+
lastName?: string;
|
|
3137
|
+
};
|
|
3138
|
+
email?: string;
|
|
3139
|
+
};
|
|
3140
|
+
}): Promise<{
|
|
3141
|
+
user: {
|
|
3142
|
+
id: string;
|
|
3143
|
+
name?: string;
|
|
3144
|
+
email?: string | null;
|
|
3145
|
+
image?: string;
|
|
3146
|
+
emailVerified: boolean;
|
|
3147
|
+
[key: string]: any;
|
|
3148
|
+
};
|
|
3149
|
+
data: any;
|
|
3150
|
+
} | null>;
|
|
3151
|
+
options: TwitterOption;
|
|
3152
|
+
};
|
|
3153
|
+
dropbox: (options: DropboxOptions) => {
|
|
3154
|
+
id: "dropbox";
|
|
3155
|
+
name: string;
|
|
3156
|
+
createAuthorizationURL: ({ state, scopes, codeVerifier, redirectURI, }: {
|
|
3157
|
+
state: string;
|
|
3158
|
+
codeVerifier: string;
|
|
3159
|
+
scopes?: string[];
|
|
3160
|
+
redirectURI: string;
|
|
3161
|
+
display?: string;
|
|
3162
|
+
loginHint?: string;
|
|
3163
|
+
}) => Promise<URL>;
|
|
3164
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
3165
|
+
code: string;
|
|
3166
|
+
redirectURI: string;
|
|
3167
|
+
codeVerifier?: string;
|
|
3168
|
+
deviceId?: string;
|
|
3169
|
+
}) => Promise<OAuth2Tokens>;
|
|
3170
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3171
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3172
|
+
user?: {
|
|
3173
|
+
name?: {
|
|
3174
|
+
firstName?: string;
|
|
3175
|
+
lastName?: string;
|
|
3176
|
+
};
|
|
3177
|
+
email?: string;
|
|
3178
|
+
};
|
|
3179
|
+
}): Promise<{
|
|
3180
|
+
user: {
|
|
3181
|
+
id: string;
|
|
3182
|
+
name?: string;
|
|
3183
|
+
email?: string | null;
|
|
3184
|
+
image?: string;
|
|
3185
|
+
emailVerified: boolean;
|
|
3186
|
+
[key: string]: any;
|
|
3187
|
+
};
|
|
3188
|
+
data: any;
|
|
3189
|
+
} | null>;
|
|
3190
|
+
options: DropboxOptions;
|
|
3191
|
+
};
|
|
3192
|
+
kick: (options: KickOptions) => {
|
|
3193
|
+
id: "kick";
|
|
3194
|
+
name: string;
|
|
3195
|
+
createAuthorizationURL({ state, scopes, redirectURI, codeVerifier }: {
|
|
3196
|
+
state: string;
|
|
3197
|
+
codeVerifier: string;
|
|
3198
|
+
scopes?: string[];
|
|
3199
|
+
redirectURI: string;
|
|
3200
|
+
display?: string;
|
|
3201
|
+
loginHint?: string;
|
|
3202
|
+
}): Promise<URL>;
|
|
3203
|
+
validateAuthorizationCode({ code, redirectURI, codeVerifier }: {
|
|
3204
|
+
code: string;
|
|
3205
|
+
redirectURI: string;
|
|
3206
|
+
codeVerifier?: string;
|
|
3207
|
+
deviceId?: string;
|
|
3208
|
+
}): Promise<OAuth2Tokens>;
|
|
3209
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3210
|
+
user?: {
|
|
3211
|
+
name?: {
|
|
3212
|
+
firstName?: string;
|
|
3213
|
+
lastName?: string;
|
|
3214
|
+
};
|
|
3215
|
+
email?: string;
|
|
3216
|
+
};
|
|
3217
|
+
}): Promise<{
|
|
3218
|
+
user: {
|
|
3219
|
+
id: string;
|
|
3220
|
+
name?: string;
|
|
3221
|
+
email?: string | null;
|
|
3222
|
+
image?: string;
|
|
3223
|
+
emailVerified: boolean;
|
|
3224
|
+
[key: string]: any;
|
|
3225
|
+
};
|
|
3226
|
+
data: any;
|
|
3227
|
+
} | null>;
|
|
3228
|
+
options: KickOptions;
|
|
3229
|
+
};
|
|
3230
|
+
linear: (options: LinearOptions) => {
|
|
3231
|
+
id: "linear";
|
|
3232
|
+
name: string;
|
|
3233
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
3234
|
+
state: string;
|
|
3235
|
+
codeVerifier: string;
|
|
3236
|
+
scopes?: string[];
|
|
3237
|
+
redirectURI: string;
|
|
3238
|
+
display?: string;
|
|
3239
|
+
loginHint?: string;
|
|
3240
|
+
}): Promise<URL>;
|
|
3241
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3242
|
+
code: string;
|
|
3243
|
+
redirectURI: string;
|
|
3244
|
+
codeVerifier?: string;
|
|
3245
|
+
deviceId?: string;
|
|
3246
|
+
}) => Promise<OAuth2Tokens>;
|
|
3247
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3248
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3249
|
+
user?: {
|
|
3250
|
+
name?: {
|
|
3251
|
+
firstName?: string;
|
|
3252
|
+
lastName?: string;
|
|
3253
|
+
};
|
|
3254
|
+
email?: string;
|
|
3255
|
+
};
|
|
3256
|
+
}): Promise<{
|
|
3257
|
+
user: {
|
|
3258
|
+
id: string;
|
|
3259
|
+
name?: string;
|
|
3260
|
+
email?: string | null;
|
|
3261
|
+
image?: string;
|
|
3262
|
+
emailVerified: boolean;
|
|
3263
|
+
[key: string]: any;
|
|
3264
|
+
};
|
|
3265
|
+
data: any;
|
|
3266
|
+
} | null>;
|
|
3267
|
+
options: LinearOptions;
|
|
3268
|
+
};
|
|
3269
|
+
linkedin: (options: LinkedInOptions) => {
|
|
3270
|
+
id: "linkedin";
|
|
3271
|
+
name: string;
|
|
3272
|
+
createAuthorizationURL: ({ state, scopes, redirectURI, loginHint, }: {
|
|
3273
|
+
state: string;
|
|
3274
|
+
codeVerifier: string;
|
|
3275
|
+
scopes?: string[];
|
|
3276
|
+
redirectURI: string;
|
|
3277
|
+
display?: string;
|
|
3278
|
+
loginHint?: string;
|
|
3279
|
+
}) => Promise<URL>;
|
|
3280
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3281
|
+
code: string;
|
|
3282
|
+
redirectURI: string;
|
|
3283
|
+
codeVerifier?: string;
|
|
3284
|
+
deviceId?: string;
|
|
3285
|
+
}) => Promise<OAuth2Tokens>;
|
|
3286
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3287
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3288
|
+
user?: {
|
|
3289
|
+
name?: {
|
|
3290
|
+
firstName?: string;
|
|
3291
|
+
lastName?: string;
|
|
3292
|
+
};
|
|
3293
|
+
email?: string;
|
|
3294
|
+
};
|
|
3295
|
+
}): Promise<{
|
|
3296
|
+
user: {
|
|
3297
|
+
id: string;
|
|
3298
|
+
name?: string;
|
|
3299
|
+
email?: string | null;
|
|
3300
|
+
image?: string;
|
|
3301
|
+
emailVerified: boolean;
|
|
3302
|
+
[key: string]: any;
|
|
3303
|
+
};
|
|
3304
|
+
data: any;
|
|
3305
|
+
} | null>;
|
|
3306
|
+
options: LinkedInOptions;
|
|
3307
|
+
};
|
|
3308
|
+
gitlab: (options: GitlabOptions) => {
|
|
3309
|
+
id: "gitlab";
|
|
3310
|
+
name: string;
|
|
3311
|
+
createAuthorizationURL: ({ state, scopes, codeVerifier, loginHint, redirectURI, }: {
|
|
3312
|
+
state: string;
|
|
3313
|
+
codeVerifier: string;
|
|
3314
|
+
scopes?: string[];
|
|
3315
|
+
redirectURI: string;
|
|
3316
|
+
display?: string;
|
|
3317
|
+
loginHint?: string;
|
|
3318
|
+
}) => Promise<URL>;
|
|
3319
|
+
validateAuthorizationCode: ({ code, redirectURI, codeVerifier }: {
|
|
3320
|
+
code: string;
|
|
3321
|
+
redirectURI: string;
|
|
3322
|
+
codeVerifier?: string;
|
|
3323
|
+
deviceId?: string;
|
|
3324
|
+
}) => Promise<OAuth2Tokens>;
|
|
3325
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3326
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3327
|
+
user?: {
|
|
3328
|
+
name?: {
|
|
3329
|
+
firstName?: string;
|
|
3330
|
+
lastName?: string;
|
|
3331
|
+
};
|
|
3332
|
+
email?: string;
|
|
3333
|
+
};
|
|
3334
|
+
}): Promise<{
|
|
3335
|
+
user: {
|
|
3336
|
+
id: string;
|
|
3337
|
+
name?: string;
|
|
3338
|
+
email?: string | null;
|
|
3339
|
+
image?: string;
|
|
3340
|
+
emailVerified: boolean;
|
|
3341
|
+
[key: string]: any;
|
|
3342
|
+
};
|
|
3343
|
+
data: any;
|
|
3344
|
+
} | {
|
|
3345
|
+
user: {
|
|
3346
|
+
id: number;
|
|
3347
|
+
name: string;
|
|
3348
|
+
email: string;
|
|
3349
|
+
image: string;
|
|
3350
|
+
emailVerified: true;
|
|
3351
|
+
} | {
|
|
3352
|
+
id: string | number;
|
|
3353
|
+
name: string;
|
|
3354
|
+
email: string | null;
|
|
3355
|
+
image: string;
|
|
3356
|
+
emailVerified: boolean;
|
|
3357
|
+
} | {
|
|
3358
|
+
id: string | number;
|
|
3359
|
+
name: string;
|
|
3360
|
+
email: string | null;
|
|
3361
|
+
image: string;
|
|
3362
|
+
emailVerified: boolean;
|
|
3363
|
+
};
|
|
3364
|
+
data: GitlabProfile;
|
|
3365
|
+
} | null>;
|
|
3366
|
+
options: GitlabOptions;
|
|
3367
|
+
};
|
|
3368
|
+
tiktok: (options: TiktokOptions) => {
|
|
3369
|
+
id: "tiktok";
|
|
3370
|
+
name: string;
|
|
3371
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3372
|
+
state: string;
|
|
3373
|
+
codeVerifier: string;
|
|
3374
|
+
scopes?: string[];
|
|
3375
|
+
redirectURI: string;
|
|
3376
|
+
display?: string;
|
|
3377
|
+
loginHint?: string;
|
|
3378
|
+
}): URL;
|
|
3379
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3380
|
+
code: string;
|
|
3381
|
+
redirectURI: string;
|
|
3382
|
+
codeVerifier?: string;
|
|
3383
|
+
deviceId?: string;
|
|
3384
|
+
}) => Promise<OAuth2Tokens>;
|
|
3385
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3386
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3387
|
+
user?: {
|
|
3388
|
+
name?: {
|
|
3389
|
+
firstName?: string;
|
|
3390
|
+
lastName?: string;
|
|
3391
|
+
};
|
|
3392
|
+
email?: string;
|
|
3393
|
+
};
|
|
3394
|
+
}): Promise<{
|
|
3395
|
+
user: {
|
|
3396
|
+
id: string;
|
|
3397
|
+
name?: string;
|
|
3398
|
+
email?: string | null;
|
|
3399
|
+
image?: string;
|
|
3400
|
+
emailVerified: boolean;
|
|
3401
|
+
[key: string]: any;
|
|
3402
|
+
};
|
|
3403
|
+
data: any;
|
|
3404
|
+
} | null>;
|
|
3405
|
+
options: TiktokOptions;
|
|
3406
|
+
};
|
|
3407
|
+
reddit: (options: RedditOptions) => {
|
|
3408
|
+
id: "reddit";
|
|
3409
|
+
name: string;
|
|
3410
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3411
|
+
state: string;
|
|
3412
|
+
codeVerifier: string;
|
|
3413
|
+
scopes?: string[];
|
|
3414
|
+
redirectURI: string;
|
|
3415
|
+
display?: string;
|
|
3416
|
+
loginHint?: string;
|
|
3417
|
+
}): Promise<URL>;
|
|
3418
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3419
|
+
code: string;
|
|
3420
|
+
redirectURI: string;
|
|
3421
|
+
codeVerifier?: string;
|
|
3422
|
+
deviceId?: string;
|
|
3423
|
+
}) => Promise<OAuth2Tokens>;
|
|
3424
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3425
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3426
|
+
user?: {
|
|
3427
|
+
name?: {
|
|
3428
|
+
firstName?: string;
|
|
3429
|
+
lastName?: string;
|
|
3430
|
+
};
|
|
3431
|
+
email?: string;
|
|
3432
|
+
};
|
|
3433
|
+
}): Promise<{
|
|
3434
|
+
user: {
|
|
3435
|
+
id: string;
|
|
3436
|
+
name?: string;
|
|
3437
|
+
email?: string | null;
|
|
3438
|
+
image?: string;
|
|
3439
|
+
emailVerified: boolean;
|
|
3440
|
+
[key: string]: any;
|
|
3441
|
+
};
|
|
3442
|
+
data: any;
|
|
3443
|
+
} | null>;
|
|
3444
|
+
options: RedditOptions;
|
|
3445
|
+
};
|
|
3446
|
+
roblox: (options: RobloxOptions) => {
|
|
3447
|
+
id: "roblox";
|
|
3448
|
+
name: string;
|
|
3449
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3450
|
+
state: string;
|
|
3451
|
+
codeVerifier: string;
|
|
3452
|
+
scopes?: string[];
|
|
3453
|
+
redirectURI: string;
|
|
3454
|
+
display?: string;
|
|
3455
|
+
loginHint?: string;
|
|
3456
|
+
}): URL;
|
|
3457
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3458
|
+
code: string;
|
|
3459
|
+
redirectURI: string;
|
|
3460
|
+
codeVerifier?: string;
|
|
3461
|
+
deviceId?: string;
|
|
3462
|
+
}) => Promise<OAuth2Tokens>;
|
|
3463
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3464
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3465
|
+
user?: {
|
|
3466
|
+
name?: {
|
|
3467
|
+
firstName?: string;
|
|
3468
|
+
lastName?: string;
|
|
3469
|
+
};
|
|
3470
|
+
email?: string;
|
|
3471
|
+
};
|
|
3472
|
+
}): Promise<{
|
|
3473
|
+
user: {
|
|
3474
|
+
id: string;
|
|
3475
|
+
name?: string;
|
|
3476
|
+
email?: string | null;
|
|
3477
|
+
image?: string;
|
|
3478
|
+
emailVerified: boolean;
|
|
3479
|
+
[key: string]: any;
|
|
3480
|
+
};
|
|
3481
|
+
data: any;
|
|
3482
|
+
} | null>;
|
|
3483
|
+
options: RobloxOptions;
|
|
3484
|
+
};
|
|
3485
|
+
salesforce: (options: SalesforceOptions) => {
|
|
3486
|
+
id: "salesforce";
|
|
3487
|
+
name: string;
|
|
3488
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
3489
|
+
state: string;
|
|
3490
|
+
codeVerifier: string;
|
|
3491
|
+
scopes?: string[];
|
|
3492
|
+
redirectURI: string;
|
|
3493
|
+
display?: string;
|
|
3494
|
+
loginHint?: string;
|
|
3495
|
+
}): Promise<URL>;
|
|
3496
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
3497
|
+
code: string;
|
|
3498
|
+
redirectURI: string;
|
|
3499
|
+
codeVerifier?: string;
|
|
3500
|
+
deviceId?: string;
|
|
3501
|
+
}) => Promise<OAuth2Tokens>;
|
|
3502
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3503
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3504
|
+
user?: {
|
|
3505
|
+
name?: {
|
|
3506
|
+
firstName?: string;
|
|
3507
|
+
lastName?: string;
|
|
3508
|
+
};
|
|
3509
|
+
email?: string;
|
|
3510
|
+
};
|
|
3511
|
+
}): Promise<{
|
|
3512
|
+
user: {
|
|
3513
|
+
id: string;
|
|
3514
|
+
name?: string;
|
|
3515
|
+
email?: string | null;
|
|
3516
|
+
image?: string;
|
|
3517
|
+
emailVerified: boolean;
|
|
3518
|
+
[key: string]: any;
|
|
3519
|
+
};
|
|
3520
|
+
data: any;
|
|
3521
|
+
} | null>;
|
|
3522
|
+
options: SalesforceOptions;
|
|
3523
|
+
};
|
|
3524
|
+
vk: (options: VkOption) => {
|
|
3525
|
+
id: "vk";
|
|
3526
|
+
name: string;
|
|
3527
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI }: {
|
|
3528
|
+
state: string;
|
|
3529
|
+
codeVerifier: string;
|
|
3530
|
+
scopes?: string[];
|
|
3531
|
+
redirectURI: string;
|
|
3532
|
+
display?: string;
|
|
3533
|
+
loginHint?: string;
|
|
3534
|
+
}): Promise<URL>;
|
|
3535
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI, deviceId, }: {
|
|
3536
|
+
code: string;
|
|
3537
|
+
redirectURI: string;
|
|
3538
|
+
codeVerifier?: string;
|
|
3539
|
+
deviceId?: string;
|
|
3540
|
+
}) => Promise<OAuth2Tokens>;
|
|
3541
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3542
|
+
getUserInfo(data: OAuth2Tokens & {
|
|
3543
|
+
user?: {
|
|
3544
|
+
name?: {
|
|
3545
|
+
firstName?: string;
|
|
3546
|
+
lastName?: string;
|
|
3547
|
+
};
|
|
3548
|
+
email?: string;
|
|
3549
|
+
};
|
|
3550
|
+
}): Promise<{
|
|
3551
|
+
user: {
|
|
3552
|
+
id: string;
|
|
3553
|
+
name?: string;
|
|
3554
|
+
email?: string | null;
|
|
3555
|
+
image?: string;
|
|
3556
|
+
emailVerified: boolean;
|
|
3557
|
+
[key: string]: any;
|
|
3558
|
+
};
|
|
3559
|
+
data: any;
|
|
3560
|
+
} | null>;
|
|
3561
|
+
options: VkOption;
|
|
3562
|
+
};
|
|
3563
|
+
zoom: (userOptions: ZoomOptions) => {
|
|
3564
|
+
id: "zoom";
|
|
3565
|
+
name: string;
|
|
3566
|
+
createAuthorizationURL: ({ state, redirectURI, codeVerifier }: {
|
|
3567
|
+
state: string;
|
|
3568
|
+
codeVerifier: string;
|
|
3569
|
+
scopes?: string[];
|
|
3570
|
+
redirectURI: string;
|
|
3571
|
+
display?: string;
|
|
3572
|
+
loginHint?: string;
|
|
3573
|
+
}) => Promise<URL>;
|
|
3574
|
+
validateAuthorizationCode: ({ code, redirectURI, codeVerifier }: {
|
|
3575
|
+
code: string;
|
|
3576
|
+
redirectURI: string;
|
|
3577
|
+
codeVerifier?: string;
|
|
3578
|
+
deviceId?: string;
|
|
3579
|
+
}) => Promise<OAuth2Tokens>;
|
|
3580
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3581
|
+
user?: {
|
|
3582
|
+
name?: {
|
|
3583
|
+
firstName?: string;
|
|
3584
|
+
lastName?: string;
|
|
3585
|
+
};
|
|
3586
|
+
email?: string;
|
|
3587
|
+
};
|
|
3588
|
+
}): Promise<{
|
|
3589
|
+
user: {
|
|
3590
|
+
id: string;
|
|
3591
|
+
name?: string;
|
|
3592
|
+
email?: string | null;
|
|
3593
|
+
image?: string;
|
|
3594
|
+
emailVerified: boolean;
|
|
3595
|
+
[key: string]: any;
|
|
3596
|
+
};
|
|
3597
|
+
data: any;
|
|
3598
|
+
} | null>;
|
|
3599
|
+
};
|
|
3600
|
+
notion: (options: NotionOptions) => {
|
|
3601
|
+
id: "notion";
|
|
3602
|
+
name: string;
|
|
3603
|
+
createAuthorizationURL({ state, scopes, loginHint, redirectURI }: {
|
|
3604
|
+
state: string;
|
|
3605
|
+
codeVerifier: string;
|
|
3606
|
+
scopes?: string[];
|
|
3607
|
+
redirectURI: string;
|
|
3608
|
+
display?: string;
|
|
3609
|
+
loginHint?: string;
|
|
3610
|
+
}): Promise<URL>;
|
|
3611
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3612
|
+
code: string;
|
|
3613
|
+
redirectURI: string;
|
|
3614
|
+
codeVerifier?: string;
|
|
3615
|
+
deviceId?: string;
|
|
3616
|
+
}) => Promise<OAuth2Tokens>;
|
|
3617
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3618
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3619
|
+
user?: {
|
|
3620
|
+
name?: {
|
|
3621
|
+
firstName?: string;
|
|
3622
|
+
lastName?: string;
|
|
3623
|
+
};
|
|
3624
|
+
email?: string;
|
|
3625
|
+
};
|
|
3626
|
+
}): Promise<{
|
|
3627
|
+
user: {
|
|
3628
|
+
id: string;
|
|
3629
|
+
name?: string;
|
|
3630
|
+
email?: string | null;
|
|
3631
|
+
image?: string;
|
|
3632
|
+
emailVerified: boolean;
|
|
3633
|
+
[key: string]: any;
|
|
3634
|
+
};
|
|
3635
|
+
data: any;
|
|
3636
|
+
} | null>;
|
|
3637
|
+
options: NotionOptions;
|
|
3638
|
+
};
|
|
3639
|
+
kakao: (options: KakaoOptions) => {
|
|
3640
|
+
id: "kakao";
|
|
3641
|
+
name: string;
|
|
3642
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3643
|
+
state: string;
|
|
3644
|
+
codeVerifier: string;
|
|
3645
|
+
scopes?: string[];
|
|
3646
|
+
redirectURI: string;
|
|
3647
|
+
display?: string;
|
|
3648
|
+
loginHint?: string;
|
|
3649
|
+
}): Promise<URL>;
|
|
3650
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3651
|
+
code: string;
|
|
3652
|
+
redirectURI: string;
|
|
3653
|
+
codeVerifier?: string;
|
|
3654
|
+
deviceId?: string;
|
|
3655
|
+
}) => Promise<OAuth2Tokens>;
|
|
3656
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3657
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3658
|
+
user?: {
|
|
3659
|
+
name?: {
|
|
3660
|
+
firstName?: string;
|
|
3661
|
+
lastName?: string;
|
|
3662
|
+
};
|
|
3663
|
+
email?: string;
|
|
3664
|
+
};
|
|
3665
|
+
}): Promise<{
|
|
3666
|
+
user: {
|
|
3667
|
+
id: string;
|
|
3668
|
+
name?: string;
|
|
3669
|
+
email?: string | null;
|
|
3670
|
+
image?: string;
|
|
3671
|
+
emailVerified: boolean;
|
|
3672
|
+
[key: string]: any;
|
|
3673
|
+
};
|
|
3674
|
+
data: any;
|
|
3675
|
+
} | {
|
|
3676
|
+
user: {
|
|
3677
|
+
id: string;
|
|
3678
|
+
name: string | undefined;
|
|
3679
|
+
email: string | undefined;
|
|
3680
|
+
image: string | undefined;
|
|
3681
|
+
emailVerified: boolean;
|
|
3682
|
+
} | {
|
|
3683
|
+
id: string;
|
|
3684
|
+
name: string;
|
|
3685
|
+
email: string | null;
|
|
3686
|
+
image: string;
|
|
3687
|
+
emailVerified: boolean;
|
|
3688
|
+
} | {
|
|
3689
|
+
id: string;
|
|
3690
|
+
name: string;
|
|
3691
|
+
email: string | null;
|
|
3692
|
+
image: string;
|
|
3693
|
+
emailVerified: boolean;
|
|
3694
|
+
};
|
|
3695
|
+
data: KakaoProfile;
|
|
3696
|
+
} | null>;
|
|
3697
|
+
options: KakaoOptions;
|
|
3698
|
+
};
|
|
3699
|
+
naver: (options: NaverOptions) => {
|
|
3700
|
+
id: "naver";
|
|
3701
|
+
name: string;
|
|
3702
|
+
createAuthorizationURL({ state, scopes, redirectURI }: {
|
|
3703
|
+
state: string;
|
|
3704
|
+
codeVerifier: string;
|
|
3705
|
+
scopes?: string[];
|
|
3706
|
+
redirectURI: string;
|
|
3707
|
+
display?: string;
|
|
3708
|
+
loginHint?: string;
|
|
3709
|
+
}): Promise<URL>;
|
|
3710
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3711
|
+
code: string;
|
|
3712
|
+
redirectURI: string;
|
|
3713
|
+
codeVerifier?: string;
|
|
3714
|
+
deviceId?: string;
|
|
3715
|
+
}) => Promise<OAuth2Tokens>;
|
|
3716
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3717
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3718
|
+
user?: {
|
|
3719
|
+
name?: {
|
|
3720
|
+
firstName?: string;
|
|
3721
|
+
lastName?: string;
|
|
3722
|
+
};
|
|
3723
|
+
email?: string;
|
|
3724
|
+
};
|
|
3725
|
+
}): Promise<{
|
|
3726
|
+
user: {
|
|
3727
|
+
id: string;
|
|
3728
|
+
name?: string;
|
|
3729
|
+
email?: string | null;
|
|
3730
|
+
image?: string;
|
|
3731
|
+
emailVerified: boolean;
|
|
3732
|
+
[key: string]: any;
|
|
3733
|
+
};
|
|
3734
|
+
data: any;
|
|
3735
|
+
} | {
|
|
3736
|
+
user: {
|
|
3737
|
+
id: string;
|
|
3738
|
+
name: string;
|
|
3739
|
+
email: string;
|
|
3740
|
+
image: string;
|
|
3741
|
+
emailVerified: boolean;
|
|
3742
|
+
} | {
|
|
3743
|
+
id: string;
|
|
3744
|
+
name: string;
|
|
3745
|
+
email: string | null;
|
|
3746
|
+
image: string;
|
|
3747
|
+
emailVerified: boolean;
|
|
3748
|
+
} | {
|
|
3749
|
+
id: string;
|
|
3750
|
+
name: string;
|
|
3751
|
+
email: string | null;
|
|
3752
|
+
image: string;
|
|
3753
|
+
emailVerified: boolean;
|
|
3754
|
+
};
|
|
3755
|
+
data: NaverProfile;
|
|
3756
|
+
} | null>;
|
|
3757
|
+
options: NaverOptions;
|
|
3758
|
+
};
|
|
3759
|
+
line: (options: LineOptions) => {
|
|
3760
|
+
id: "line";
|
|
3761
|
+
name: string;
|
|
3762
|
+
createAuthorizationURL({ state, scopes, codeVerifier, redirectURI, loginHint, }: {
|
|
3763
|
+
state: string;
|
|
3764
|
+
codeVerifier: string;
|
|
3765
|
+
scopes?: string[];
|
|
3766
|
+
redirectURI: string;
|
|
3767
|
+
display?: string;
|
|
3768
|
+
loginHint?: string;
|
|
3769
|
+
}): Promise<URL>;
|
|
3770
|
+
validateAuthorizationCode: ({ code, codeVerifier, redirectURI }: {
|
|
3771
|
+
code: string;
|
|
3772
|
+
redirectURI: string;
|
|
3773
|
+
codeVerifier?: string;
|
|
3774
|
+
deviceId?: string;
|
|
3775
|
+
}) => Promise<OAuth2Tokens>;
|
|
3776
|
+
refreshAccessToken: (refreshToken: string) => Promise<OAuth2Tokens>;
|
|
3777
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
3778
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3779
|
+
user?: {
|
|
3780
|
+
name?: {
|
|
3781
|
+
firstName?: string;
|
|
3782
|
+
lastName?: string;
|
|
3783
|
+
};
|
|
3784
|
+
email?: string;
|
|
3785
|
+
};
|
|
3786
|
+
}): Promise<{
|
|
3787
|
+
user: {
|
|
3788
|
+
id: string;
|
|
3789
|
+
name?: string;
|
|
3790
|
+
email?: string | null;
|
|
3791
|
+
image?: string;
|
|
3792
|
+
emailVerified: boolean;
|
|
3793
|
+
[key: string]: any;
|
|
3794
|
+
};
|
|
3795
|
+
data: any;
|
|
3796
|
+
} | {
|
|
3797
|
+
user: {
|
|
3798
|
+
id: any;
|
|
3799
|
+
name: any;
|
|
3800
|
+
email: any;
|
|
3801
|
+
image: any;
|
|
3802
|
+
emailVerified: false;
|
|
3803
|
+
} | {
|
|
3804
|
+
id: any;
|
|
3805
|
+
name: any;
|
|
3806
|
+
email: any;
|
|
3807
|
+
image: any;
|
|
3808
|
+
emailVerified: boolean;
|
|
3809
|
+
} | {
|
|
3810
|
+
id: any;
|
|
3811
|
+
name: any;
|
|
3812
|
+
email: any;
|
|
3813
|
+
image: any;
|
|
3814
|
+
emailVerified: boolean;
|
|
3815
|
+
};
|
|
3816
|
+
data: any;
|
|
3817
|
+
} | null>;
|
|
3818
|
+
options: LineOptions;
|
|
3819
|
+
};
|
|
3820
|
+
paypal: (options: PayPalOptions) => {
|
|
3821
|
+
id: "paypal";
|
|
3822
|
+
name: string;
|
|
3823
|
+
createAuthorizationURL({ state, codeVerifier, redirectURI }: {
|
|
3824
|
+
state: string;
|
|
3825
|
+
codeVerifier: string;
|
|
3826
|
+
scopes?: string[];
|
|
3827
|
+
redirectURI: string;
|
|
3828
|
+
display?: string;
|
|
3829
|
+
loginHint?: string;
|
|
3830
|
+
}): Promise<URL>;
|
|
3831
|
+
validateAuthorizationCode: ({ code, redirectURI }: {
|
|
3832
|
+
code: string;
|
|
3833
|
+
redirectURI: string;
|
|
3834
|
+
codeVerifier?: string;
|
|
3835
|
+
deviceId?: string;
|
|
3836
|
+
}) => Promise<{
|
|
3837
|
+
accessToken: string;
|
|
3838
|
+
refreshToken: string | undefined;
|
|
3839
|
+
accessTokenExpiresAt: Date | undefined;
|
|
3840
|
+
idToken: string | undefined;
|
|
3841
|
+
}>;
|
|
3842
|
+
refreshAccessToken: ((refreshToken: string) => Promise<OAuth2Tokens>) | ((refreshToken: string) => Promise<{
|
|
3843
|
+
accessToken: any;
|
|
3844
|
+
refreshToken: any;
|
|
3845
|
+
accessTokenExpiresAt: Date | undefined;
|
|
3846
|
+
}>);
|
|
3847
|
+
verifyIdToken(token: string, nonce: string | undefined): Promise<boolean>;
|
|
3848
|
+
getUserInfo(token: OAuth2Tokens & {
|
|
3849
|
+
user?: {
|
|
3850
|
+
name?: {
|
|
3851
|
+
firstName?: string;
|
|
3852
|
+
lastName?: string;
|
|
3853
|
+
};
|
|
3854
|
+
email?: string;
|
|
3855
|
+
};
|
|
3856
|
+
}): Promise<{
|
|
3857
|
+
user: {
|
|
3858
|
+
id: string;
|
|
3859
|
+
name?: string;
|
|
3860
|
+
email?: string | null;
|
|
3861
|
+
image?: string;
|
|
3862
|
+
emailVerified: boolean;
|
|
3863
|
+
[key: string]: any;
|
|
3864
|
+
};
|
|
3865
|
+
data: any;
|
|
3866
|
+
} | {
|
|
3867
|
+
user: {
|
|
3868
|
+
id: string;
|
|
3869
|
+
name: string;
|
|
3870
|
+
email: string;
|
|
3871
|
+
image: string | undefined;
|
|
3872
|
+
emailVerified: boolean;
|
|
3873
|
+
} | {
|
|
3874
|
+
id: string;
|
|
3875
|
+
name: string;
|
|
3876
|
+
email: string | null;
|
|
3877
|
+
image: string;
|
|
3878
|
+
emailVerified: boolean;
|
|
3879
|
+
} | {
|
|
3880
|
+
id: string;
|
|
3881
|
+
name: string;
|
|
3882
|
+
email: string | null;
|
|
3883
|
+
image: string;
|
|
3884
|
+
emailVerified: boolean;
|
|
3885
|
+
};
|
|
3886
|
+
data: PayPalProfile;
|
|
3887
|
+
} | null>;
|
|
3888
|
+
options: PayPalOptions;
|
|
3889
|
+
};
|
|
3890
|
+
};
|
|
3891
|
+
declare const socialProviderList: ["github", ...(keyof typeof socialProviders)[]];
|
|
3892
|
+
declare const SocialProviderListEnum: z.ZodType<SocialProviderList[number] | (string & {})>;
|
|
3893
|
+
type SocialProvider = z.infer<typeof SocialProviderListEnum>;
|
|
3894
|
+
type SocialProviders = {
|
|
3895
|
+
[K in SocialProviderList[number]]?: Parameters<(typeof socialProviders)[K]>[0] & {
|
|
3896
|
+
enabled?: boolean;
|
|
3897
|
+
};
|
|
3898
|
+
};
|
|
3899
|
+
|
|
3900
|
+
type SocialProviderList = typeof socialProviderList;
|
|
3901
|
+
|
|
3902
|
+
export { SocialProviderListEnum, apple, atlassian, cognito, discord, dropbox, facebook, figma, getApplePublicKey, getCognitoPublicKey, github, gitlab, google, huggingface, kakao, kick, line, linear, linkedin, microsoft, naver, notion, paypal, reddit, roblox, salesforce, slack, socialProviderList, socialProviders, spotify, tiktok, twitch, twitter, vk, zoom };
|
|
3903
|
+
export type { AccountStatus, AppleNonConformUser, AppleOptions, AppleProfile, AtlassianOptions, AtlassianProfile, CognitoOptions, CognitoProfile, DiscordOptions, DiscordProfile, DropboxOptions, DropboxProfile, FacebookOptions, FacebookProfile, FigmaOptions, FigmaProfile, GithubOptions, GithubProfile, GitlabOptions, GitlabProfile, GoogleOptions, GoogleProfile, HuggingFaceOptions, HuggingFaceProfile, KakaoOptions, KakaoProfile, KickOptions, KickProfile, LineIdTokenPayload, LineOptions, LineUserInfo, LinearOptions, LinearProfile, LinkedInOptions, LinkedInProfile, LoginType, MicrosoftEntraIDProfile, MicrosoftOptions, NaverOptions, NaverProfile, NotionOptions, NotionProfile, PayPalOptions, PayPalProfile, PayPalTokenResponse, PhoneNumber, PronounOption, RedditOptions, RedditProfile, RobloxOptions, RobloxProfile, SalesforceOptions, SalesforceProfile, SlackOptions, SlackProfile, SocialProvider, SocialProviderList, SocialProviders, SpotifyOptions, SpotifyProfile, TiktokOptions, TiktokProfile, TwitchOptions, TwitchProfile, TwitterOption, TwitterProfile, VkOption, VkProfile, ZoomOptions, ZoomProfile };
|