@spfn/auth 0.2.0-beta.8 → 0.2.0-beta.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +561 -1827
  3. package/dist/authenticate-ofdEmk6x.d.ts +1109 -0
  4. package/dist/config.d.ts +431 -39
  5. package/dist/config.js +217 -29
  6. package/dist/config.js.map +1 -1
  7. package/dist/errors.d.ts +117 -3
  8. package/dist/errors.js +83 -1
  9. package/dist/errors.js.map +1 -1
  10. package/dist/index.d.ts +351 -109
  11. package/dist/index.js +124 -7
  12. package/dist/index.js.map +1 -1
  13. package/dist/nextjs/api.js +591 -61
  14. package/dist/nextjs/api.js.map +1 -1
  15. package/dist/nextjs/client.d.ts +28 -0
  16. package/dist/nextjs/client.js +80 -0
  17. package/dist/nextjs/client.js.map +1 -0
  18. package/dist/nextjs/server.d.ts +92 -3
  19. package/dist/nextjs/server.js +288 -24
  20. package/dist/nextjs/server.js.map +1 -1
  21. package/dist/server.d.ts +2019 -511
  22. package/dist/server.js +4435 -1157
  23. package/dist/server.js.map +1 -1
  24. package/dist/session-CGxgH3C9.d.ts +53 -0
  25. package/dist/types-1BMx0OX1.d.ts +84 -0
  26. package/migrations/0001_smooth_the_fury.sql +3 -0
  27. package/migrations/0002_deep_iceman.sql +11 -0
  28. package/migrations/0003_perfect_deathbird.sql +3 -0
  29. package/migrations/0004_concerned_rawhide_kid.sql +5 -0
  30. package/migrations/0005_lethal_lifeguard.sql +32 -0
  31. package/migrations/0006_easy_hardball.sql +24 -0
  32. package/migrations/0007_glossy_major_mapleleaf.sql +1 -0
  33. package/migrations/meta/0001_snapshot.json +1660 -0
  34. package/migrations/meta/0002_snapshot.json +1660 -0
  35. package/migrations/meta/0003_snapshot.json +1689 -0
  36. package/migrations/meta/0004_snapshot.json +1721 -0
  37. package/migrations/meta/0005_snapshot.json +1721 -0
  38. package/migrations/meta/0006_snapshot.json +1921 -0
  39. package/migrations/meta/0007_snapshot.json +1916 -0
  40. package/migrations/meta/_journal.json +49 -0
  41. package/package.json +43 -39
  42. package/dist/dto-lZmWuObc.d.ts +0 -645
package/dist/config.d.ts CHANGED
@@ -19,11 +19,11 @@ import * as _spfn_core_env from '@spfn/core/env';
19
19
  *
20
20
  * @example
21
21
  * ```typescript
22
- * import { authEnvSchema } from '@spfn/auth/config';
22
+ * import { envSchema } from '@spfn/auth/config';
23
23
  *
24
24
  * // Access schema information
25
- * console.log(authEnvSchema.SPFN_AUTH_SESSION_SECRET.description);
26
- * console.log(authEnvSchema.SPFN_AUTH_JWT_EXPIRES_IN.default);
25
+ * console.log(envSchema.SPFN_AUTH_SESSION_SECRET.description);
26
+ * console.log(envSchema.SPFN_AUTH_JWT_EXPIRES_IN.default);
27
27
  * ```
28
28
  */
29
29
  declare const authEnvSchema: {
@@ -31,7 +31,7 @@ declare const authEnvSchema: {
31
31
  description: string;
32
32
  required: boolean;
33
33
  fallbackKeys: string[];
34
- validator: _spfn_core_env.Parser<string>;
34
+ validator: _spfn_core_env.Parser<string> & ((value: string) => string);
35
35
  sensitive: boolean;
36
36
  nextjs: boolean;
37
37
  examples: string[];
@@ -46,6 +46,7 @@ declare const authEnvSchema: {
46
46
  nextjs: boolean;
47
47
  examples: string[];
48
48
  type: "string";
49
+ validator: (value: string) => string;
49
50
  } & {
50
51
  key: "SPFN_AUTH_SESSION_TTL";
51
52
  };
@@ -55,6 +56,7 @@ declare const authEnvSchema: {
55
56
  required: boolean;
56
57
  examples: string[];
57
58
  type: "string";
59
+ validator: (value: string) => string;
58
60
  } & {
59
61
  key: "SPFN_AUTH_JWT_SECRET";
60
62
  };
@@ -64,9 +66,20 @@ declare const authEnvSchema: {
64
66
  required: boolean;
65
67
  examples: string[];
66
68
  type: "string";
69
+ validator: (value: string) => string;
67
70
  } & {
68
71
  key: "SPFN_AUTH_JWT_EXPIRES_IN";
69
72
  };
73
+ SPFN_AUTH_COOKIE_SECURE: {
74
+ description: string;
75
+ required: boolean;
76
+ nextjs: boolean;
77
+ examples: boolean[];
78
+ type: "boolean";
79
+ validator: (value: string) => boolean;
80
+ } & {
81
+ key: "SPFN_AUTH_COOKIE_SECURE";
82
+ };
70
83
  SPFN_AUTH_BCRYPT_SALT_ROUNDS: {
71
84
  key: string;
72
85
  description: string;
@@ -83,14 +96,26 @@ declare const authEnvSchema: {
83
96
  required: boolean;
84
97
  examples: string[];
85
98
  type: "string";
99
+ validator: (value: string) => string;
86
100
  } & {
87
101
  key: "SPFN_AUTH_VERIFICATION_TOKEN_SECRET";
88
102
  };
103
+ SPFN_AUTH_TOKEN_ENCRYPTION_KEYS: {
104
+ description: string;
105
+ required: boolean;
106
+ sensitive: boolean;
107
+ examples: string[];
108
+ type: "string";
109
+ validator: (value: string) => string;
110
+ } & {
111
+ key: "SPFN_AUTH_TOKEN_ENCRYPTION_KEYS";
112
+ };
89
113
  SPFN_AUTH_ADMIN_ACCOUNTS: {
90
114
  description: string;
91
115
  required: boolean;
92
116
  examples: string[];
93
117
  type: "string";
118
+ validator: (value: string) => string;
94
119
  } & {
95
120
  key: "SPFN_AUTH_ADMIN_ACCOUNTS";
96
121
  };
@@ -99,6 +124,7 @@ declare const authEnvSchema: {
99
124
  required: boolean;
100
125
  examples: string[];
101
126
  type: "string";
127
+ validator: (value: string) => string;
102
128
  } & {
103
129
  key: "SPFN_AUTH_ADMIN_EMAILS";
104
130
  };
@@ -107,6 +133,7 @@ declare const authEnvSchema: {
107
133
  required: boolean;
108
134
  examples: string[];
109
135
  type: "string";
136
+ validator: (value: string) => string;
110
137
  } & {
111
138
  key: "SPFN_AUTH_ADMIN_PASSWORDS";
112
139
  };
@@ -115,6 +142,7 @@ declare const authEnvSchema: {
115
142
  required: boolean;
116
143
  examples: string[];
117
144
  type: "string";
145
+ validator: (value: string) => string;
118
146
  } & {
119
147
  key: "SPFN_AUTH_ADMIN_ROLES";
120
148
  };
@@ -123,96 +151,264 @@ declare const authEnvSchema: {
123
151
  required: boolean;
124
152
  examples: string[];
125
153
  type: "string";
154
+ validator: (value: string) => string;
126
155
  } & {
127
156
  key: "SPFN_AUTH_ADMIN_EMAIL";
128
157
  };
129
158
  SPFN_AUTH_ADMIN_PASSWORD: {
130
159
  description: string;
131
160
  required: boolean;
132
- validator: _spfn_core_env.Parser<string>;
161
+ validator: _spfn_core_env.Parser<string> & ((value: string) => string);
133
162
  sensitive: boolean;
134
163
  examples: string[];
135
164
  type: "string";
136
165
  } & {
137
166
  key: "SPFN_AUTH_ADMIN_PASSWORD";
138
167
  };
168
+ SPFN_AUTH_RESERVED_USERNAMES: {
169
+ description: string;
170
+ required: boolean;
171
+ default: string;
172
+ examples: string[];
173
+ type: "string";
174
+ validator: (value: string) => string;
175
+ } & {
176
+ key: "SPFN_AUTH_RESERVED_USERNAMES";
177
+ };
178
+ SPFN_AUTH_USERNAME_MIN_LENGTH: {
179
+ description: string;
180
+ default: number;
181
+ required: boolean;
182
+ examples: number[];
183
+ type: "number";
184
+ validator: (value: string) => number;
185
+ } & {
186
+ key: "SPFN_AUTH_USERNAME_MIN_LENGTH";
187
+ };
188
+ SPFN_AUTH_USERNAME_MAX_LENGTH: {
189
+ description: string;
190
+ default: number;
191
+ required: boolean;
192
+ examples: number[];
193
+ type: "number";
194
+ validator: (value: string) => number;
195
+ } & {
196
+ key: "SPFN_AUTH_USERNAME_MAX_LENGTH";
197
+ };
139
198
  SPFN_API_URL: {
140
199
  description: string;
141
200
  default: string;
142
201
  required: boolean;
143
202
  examples: string[];
144
203
  type: "string";
204
+ validator: (value: string) => string;
145
205
  } & {
146
206
  key: "SPFN_API_URL";
147
207
  };
148
- SPFN_AUTH_AWS_REGION: {
208
+ NEXT_PUBLIC_SPFN_API_URL: {
209
+ description: string;
210
+ required: boolean;
211
+ examples: string[];
212
+ type: "string";
213
+ validator: (value: string) => string;
214
+ } & {
215
+ key: "NEXT_PUBLIC_SPFN_API_URL";
216
+ };
217
+ SPFN_APP_URL: {
149
218
  description: string;
150
219
  default: string;
151
220
  required: boolean;
152
221
  examples: string[];
153
222
  type: "string";
223
+ validator: (value: string) => string;
224
+ } & {
225
+ key: "SPFN_APP_URL";
226
+ };
227
+ NEXT_PUBLIC_SPFN_APP_URL: {
228
+ description: string;
229
+ required: boolean;
230
+ examples: string[];
231
+ type: "string";
232
+ validator: (value: string) => string;
233
+ } & {
234
+ key: "NEXT_PUBLIC_SPFN_APP_URL";
235
+ };
236
+ SPFN_AUTH_GOOGLE_CLIENT_ID: {
237
+ description: string;
238
+ required: boolean;
239
+ examples: string[];
240
+ type: "string";
241
+ validator: (value: string) => string;
154
242
  } & {
155
- key: "SPFN_AUTH_AWS_REGION";
243
+ key: "SPFN_AUTH_GOOGLE_CLIENT_ID";
156
244
  };
157
- SPFN_AUTH_AWS_SNS_ACCESS_KEY_ID: {
245
+ SPFN_AUTH_GOOGLE_CLIENT_SECRET: {
158
246
  description: string;
159
247
  required: boolean;
160
248
  sensitive: boolean;
161
249
  examples: string[];
162
250
  type: "string";
251
+ validator: (value: string) => string;
163
252
  } & {
164
- key: "SPFN_AUTH_AWS_SNS_ACCESS_KEY_ID";
253
+ key: "SPFN_AUTH_GOOGLE_CLIENT_SECRET";
165
254
  };
166
- SPFN_AUTH_AWS_SNS_SECRET_ACCESS_KEY: {
255
+ SPFN_AUTH_GOOGLE_SCOPES: {
256
+ description: string;
257
+ required: boolean;
258
+ examples: string[];
259
+ type: "string";
260
+ validator: (value: string) => string;
261
+ } & {
262
+ key: "SPFN_AUTH_GOOGLE_SCOPES";
263
+ };
264
+ SPFN_AUTH_GOOGLE_REDIRECT_URI: {
265
+ description: string;
266
+ required: boolean;
267
+ examples: string[];
268
+ type: "string";
269
+ validator: (value: string) => string;
270
+ } & {
271
+ key: "SPFN_AUTH_GOOGLE_REDIRECT_URI";
272
+ };
273
+ SPFN_AUTH_KAKAO_CLIENT_ID: {
274
+ description: string;
275
+ required: boolean;
276
+ examples: string[];
277
+ type: "string";
278
+ validator: (value: string) => string;
279
+ } & {
280
+ key: "SPFN_AUTH_KAKAO_CLIENT_ID";
281
+ };
282
+ SPFN_AUTH_KAKAO_CLIENT_SECRET: {
167
283
  description: string;
168
284
  required: boolean;
169
285
  sensitive: boolean;
170
286
  examples: string[];
171
287
  type: "string";
288
+ validator: (value: string) => string;
289
+ } & {
290
+ key: "SPFN_AUTH_KAKAO_CLIENT_SECRET";
291
+ };
292
+ SPFN_AUTH_KAKAO_SCOPES: {
293
+ description: string;
294
+ required: boolean;
295
+ examples: string[];
296
+ type: "string";
297
+ validator: (value: string) => string;
298
+ } & {
299
+ key: "SPFN_AUTH_KAKAO_SCOPES";
300
+ };
301
+ SPFN_AUTH_KAKAO_REDIRECT_URI: {
302
+ description: string;
303
+ required: boolean;
304
+ examples: string[];
305
+ type: "string";
306
+ validator: (value: string) => string;
172
307
  } & {
173
- key: "SPFN_AUTH_AWS_SNS_SECRET_ACCESS_KEY";
308
+ key: "SPFN_AUTH_KAKAO_REDIRECT_URI";
174
309
  };
175
- SPFN_AUTH_AWS_SNS_SENDER_ID: {
310
+ SPFN_AUTH_NAVER_CLIENT_ID: {
176
311
  description: string;
177
312
  required: boolean;
178
313
  examples: string[];
179
314
  type: "string";
315
+ validator: (value: string) => string;
180
316
  } & {
181
- key: "SPFN_AUTH_AWS_SNS_SENDER_ID";
317
+ key: "SPFN_AUTH_NAVER_CLIENT_ID";
182
318
  };
183
- SPFN_AUTH_AWS_SES_ACCESS_KEY_ID: {
319
+ SPFN_AUTH_NAVER_CLIENT_SECRET: {
184
320
  description: string;
185
321
  required: boolean;
186
322
  sensitive: boolean;
187
323
  examples: string[];
188
324
  type: "string";
325
+ validator: (value: string) => string;
326
+ } & {
327
+ key: "SPFN_AUTH_NAVER_CLIENT_SECRET";
328
+ };
329
+ SPFN_AUTH_NAVER_REDIRECT_URI: {
330
+ description: string;
331
+ required: boolean;
332
+ examples: string[];
333
+ type: "string";
334
+ validator: (value: string) => string;
335
+ } & {
336
+ key: "SPFN_AUTH_NAVER_REDIRECT_URI";
337
+ };
338
+ SPFN_AUTH_GITHUB_CLIENT_ID: {
339
+ description: string;
340
+ required: boolean;
341
+ examples: string[];
342
+ type: "string";
343
+ validator: (value: string) => string;
189
344
  } & {
190
- key: "SPFN_AUTH_AWS_SES_ACCESS_KEY_ID";
345
+ key: "SPFN_AUTH_GITHUB_CLIENT_ID";
191
346
  };
192
- SPFN_AUTH_AWS_SES_SECRET_ACCESS_KEY: {
347
+ SPFN_AUTH_GITHUB_CLIENT_SECRET: {
193
348
  description: string;
194
349
  required: boolean;
195
350
  sensitive: boolean;
196
351
  examples: string[];
197
352
  type: "string";
353
+ validator: (value: string) => string;
354
+ } & {
355
+ key: "SPFN_AUTH_GITHUB_CLIENT_SECRET";
356
+ };
357
+ SPFN_AUTH_GITHUB_SCOPES: {
358
+ description: string;
359
+ required: boolean;
360
+ examples: string[];
361
+ type: "string";
362
+ validator: (value: string) => string;
363
+ } & {
364
+ key: "SPFN_AUTH_GITHUB_SCOPES";
365
+ };
366
+ SPFN_AUTH_GITHUB_REDIRECT_URI: {
367
+ description: string;
368
+ required: boolean;
369
+ examples: string[];
370
+ type: "string";
371
+ validator: (value: string) => string;
372
+ } & {
373
+ key: "SPFN_AUTH_GITHUB_REDIRECT_URI";
374
+ };
375
+ SPFN_AUTH_GOOGLE_NATIVE_CLIENT_IDS: {
376
+ description: string;
377
+ required: boolean;
378
+ examples: string[];
379
+ type: "string";
380
+ validator: (value: string) => string;
198
381
  } & {
199
- key: "SPFN_AUTH_AWS_SES_SECRET_ACCESS_KEY";
382
+ key: "SPFN_AUTH_GOOGLE_NATIVE_CLIENT_IDS";
200
383
  };
201
- SPFN_AUTH_AWS_SES_FROM_EMAIL: {
384
+ SPFN_AUTH_APPLE_CLIENT_IDS: {
202
385
  description: string;
203
386
  required: boolean;
204
387
  examples: string[];
205
388
  type: "string";
389
+ validator: (value: string) => string;
206
390
  } & {
207
- key: "SPFN_AUTH_AWS_SES_FROM_EMAIL";
391
+ key: "SPFN_AUTH_APPLE_CLIENT_IDS";
208
392
  };
209
- SPFN_AUTH_AWS_SES_FROM_NAME: {
393
+ SPFN_AUTH_OAUTH_SUCCESS_URL: {
210
394
  description: string;
211
395
  required: boolean;
396
+ default: string;
397
+ examples: string[];
398
+ type: "string";
399
+ validator: (value: string) => string;
400
+ } & {
401
+ key: "SPFN_AUTH_OAUTH_SUCCESS_URL";
402
+ };
403
+ SPFN_AUTH_OAUTH_ERROR_URL: {
404
+ description: string;
405
+ required: boolean;
406
+ default: string;
212
407
  examples: string[];
213
408
  type: "string";
409
+ validator: (value: string) => string;
214
410
  } & {
215
- key: "SPFN_AUTH_AWS_SES_FROM_NAME";
411
+ key: "SPFN_AUTH_OAUTH_ERROR_URL";
216
412
  };
217
413
  };
218
414
 
@@ -221,7 +417,7 @@ declare const env: _spfn_core_env.InferEnvType<{
221
417
  description: string;
222
418
  required: boolean;
223
419
  fallbackKeys: string[];
224
- validator: _spfn_core_env.Parser<string>;
420
+ validator: _spfn_core_env.Parser<string> & ((value: string) => string);
225
421
  sensitive: boolean;
226
422
  nextjs: boolean;
227
423
  examples: string[];
@@ -236,6 +432,7 @@ declare const env: _spfn_core_env.InferEnvType<{
236
432
  nextjs: boolean;
237
433
  examples: string[];
238
434
  type: "string";
435
+ validator: (value: string) => string;
239
436
  } & {
240
437
  key: "SPFN_AUTH_SESSION_TTL";
241
438
  };
@@ -245,6 +442,7 @@ declare const env: _spfn_core_env.InferEnvType<{
245
442
  required: boolean;
246
443
  examples: string[];
247
444
  type: "string";
445
+ validator: (value: string) => string;
248
446
  } & {
249
447
  key: "SPFN_AUTH_JWT_SECRET";
250
448
  };
@@ -254,9 +452,20 @@ declare const env: _spfn_core_env.InferEnvType<{
254
452
  required: boolean;
255
453
  examples: string[];
256
454
  type: "string";
455
+ validator: (value: string) => string;
257
456
  } & {
258
457
  key: "SPFN_AUTH_JWT_EXPIRES_IN";
259
458
  };
459
+ SPFN_AUTH_COOKIE_SECURE: {
460
+ description: string;
461
+ required: boolean;
462
+ nextjs: boolean;
463
+ examples: boolean[];
464
+ type: "boolean";
465
+ validator: (value: string) => boolean;
466
+ } & {
467
+ key: "SPFN_AUTH_COOKIE_SECURE";
468
+ };
260
469
  SPFN_AUTH_BCRYPT_SALT_ROUNDS: {
261
470
  key: string;
262
471
  description: string;
@@ -273,14 +482,26 @@ declare const env: _spfn_core_env.InferEnvType<{
273
482
  required: boolean;
274
483
  examples: string[];
275
484
  type: "string";
485
+ validator: (value: string) => string;
276
486
  } & {
277
487
  key: "SPFN_AUTH_VERIFICATION_TOKEN_SECRET";
278
488
  };
489
+ SPFN_AUTH_TOKEN_ENCRYPTION_KEYS: {
490
+ description: string;
491
+ required: boolean;
492
+ sensitive: boolean;
493
+ examples: string[];
494
+ type: "string";
495
+ validator: (value: string) => string;
496
+ } & {
497
+ key: "SPFN_AUTH_TOKEN_ENCRYPTION_KEYS";
498
+ };
279
499
  SPFN_AUTH_ADMIN_ACCOUNTS: {
280
500
  description: string;
281
501
  required: boolean;
282
502
  examples: string[];
283
503
  type: "string";
504
+ validator: (value: string) => string;
284
505
  } & {
285
506
  key: "SPFN_AUTH_ADMIN_ACCOUNTS";
286
507
  };
@@ -289,6 +510,7 @@ declare const env: _spfn_core_env.InferEnvType<{
289
510
  required: boolean;
290
511
  examples: string[];
291
512
  type: "string";
513
+ validator: (value: string) => string;
292
514
  } & {
293
515
  key: "SPFN_AUTH_ADMIN_EMAILS";
294
516
  };
@@ -297,6 +519,7 @@ declare const env: _spfn_core_env.InferEnvType<{
297
519
  required: boolean;
298
520
  examples: string[];
299
521
  type: "string";
522
+ validator: (value: string) => string;
300
523
  } & {
301
524
  key: "SPFN_AUTH_ADMIN_PASSWORDS";
302
525
  };
@@ -305,6 +528,7 @@ declare const env: _spfn_core_env.InferEnvType<{
305
528
  required: boolean;
306
529
  examples: string[];
307
530
  type: "string";
531
+ validator: (value: string) => string;
308
532
  } & {
309
533
  key: "SPFN_AUTH_ADMIN_ROLES";
310
534
  };
@@ -313,96 +537,264 @@ declare const env: _spfn_core_env.InferEnvType<{
313
537
  required: boolean;
314
538
  examples: string[];
315
539
  type: "string";
540
+ validator: (value: string) => string;
316
541
  } & {
317
542
  key: "SPFN_AUTH_ADMIN_EMAIL";
318
543
  };
319
544
  SPFN_AUTH_ADMIN_PASSWORD: {
320
545
  description: string;
321
546
  required: boolean;
322
- validator: _spfn_core_env.Parser<string>;
547
+ validator: _spfn_core_env.Parser<string> & ((value: string) => string);
323
548
  sensitive: boolean;
324
549
  examples: string[];
325
550
  type: "string";
326
551
  } & {
327
552
  key: "SPFN_AUTH_ADMIN_PASSWORD";
328
553
  };
554
+ SPFN_AUTH_RESERVED_USERNAMES: {
555
+ description: string;
556
+ required: boolean;
557
+ default: string;
558
+ examples: string[];
559
+ type: "string";
560
+ validator: (value: string) => string;
561
+ } & {
562
+ key: "SPFN_AUTH_RESERVED_USERNAMES";
563
+ };
564
+ SPFN_AUTH_USERNAME_MIN_LENGTH: {
565
+ description: string;
566
+ default: number;
567
+ required: boolean;
568
+ examples: number[];
569
+ type: "number";
570
+ validator: (value: string) => number;
571
+ } & {
572
+ key: "SPFN_AUTH_USERNAME_MIN_LENGTH";
573
+ };
574
+ SPFN_AUTH_USERNAME_MAX_LENGTH: {
575
+ description: string;
576
+ default: number;
577
+ required: boolean;
578
+ examples: number[];
579
+ type: "number";
580
+ validator: (value: string) => number;
581
+ } & {
582
+ key: "SPFN_AUTH_USERNAME_MAX_LENGTH";
583
+ };
329
584
  SPFN_API_URL: {
330
585
  description: string;
331
586
  default: string;
332
587
  required: boolean;
333
588
  examples: string[];
334
589
  type: "string";
590
+ validator: (value: string) => string;
335
591
  } & {
336
592
  key: "SPFN_API_URL";
337
593
  };
338
- SPFN_AUTH_AWS_REGION: {
594
+ NEXT_PUBLIC_SPFN_API_URL: {
595
+ description: string;
596
+ required: boolean;
597
+ examples: string[];
598
+ type: "string";
599
+ validator: (value: string) => string;
600
+ } & {
601
+ key: "NEXT_PUBLIC_SPFN_API_URL";
602
+ };
603
+ SPFN_APP_URL: {
339
604
  description: string;
340
605
  default: string;
341
606
  required: boolean;
342
607
  examples: string[];
343
608
  type: "string";
609
+ validator: (value: string) => string;
610
+ } & {
611
+ key: "SPFN_APP_URL";
612
+ };
613
+ NEXT_PUBLIC_SPFN_APP_URL: {
614
+ description: string;
615
+ required: boolean;
616
+ examples: string[];
617
+ type: "string";
618
+ validator: (value: string) => string;
619
+ } & {
620
+ key: "NEXT_PUBLIC_SPFN_APP_URL";
621
+ };
622
+ SPFN_AUTH_GOOGLE_CLIENT_ID: {
623
+ description: string;
624
+ required: boolean;
625
+ examples: string[];
626
+ type: "string";
627
+ validator: (value: string) => string;
344
628
  } & {
345
- key: "SPFN_AUTH_AWS_REGION";
629
+ key: "SPFN_AUTH_GOOGLE_CLIENT_ID";
346
630
  };
347
- SPFN_AUTH_AWS_SNS_ACCESS_KEY_ID: {
631
+ SPFN_AUTH_GOOGLE_CLIENT_SECRET: {
348
632
  description: string;
349
633
  required: boolean;
350
634
  sensitive: boolean;
351
635
  examples: string[];
352
636
  type: "string";
637
+ validator: (value: string) => string;
353
638
  } & {
354
- key: "SPFN_AUTH_AWS_SNS_ACCESS_KEY_ID";
639
+ key: "SPFN_AUTH_GOOGLE_CLIENT_SECRET";
355
640
  };
356
- SPFN_AUTH_AWS_SNS_SECRET_ACCESS_KEY: {
641
+ SPFN_AUTH_GOOGLE_SCOPES: {
642
+ description: string;
643
+ required: boolean;
644
+ examples: string[];
645
+ type: "string";
646
+ validator: (value: string) => string;
647
+ } & {
648
+ key: "SPFN_AUTH_GOOGLE_SCOPES";
649
+ };
650
+ SPFN_AUTH_GOOGLE_REDIRECT_URI: {
651
+ description: string;
652
+ required: boolean;
653
+ examples: string[];
654
+ type: "string";
655
+ validator: (value: string) => string;
656
+ } & {
657
+ key: "SPFN_AUTH_GOOGLE_REDIRECT_URI";
658
+ };
659
+ SPFN_AUTH_KAKAO_CLIENT_ID: {
660
+ description: string;
661
+ required: boolean;
662
+ examples: string[];
663
+ type: "string";
664
+ validator: (value: string) => string;
665
+ } & {
666
+ key: "SPFN_AUTH_KAKAO_CLIENT_ID";
667
+ };
668
+ SPFN_AUTH_KAKAO_CLIENT_SECRET: {
357
669
  description: string;
358
670
  required: boolean;
359
671
  sensitive: boolean;
360
672
  examples: string[];
361
673
  type: "string";
674
+ validator: (value: string) => string;
675
+ } & {
676
+ key: "SPFN_AUTH_KAKAO_CLIENT_SECRET";
677
+ };
678
+ SPFN_AUTH_KAKAO_SCOPES: {
679
+ description: string;
680
+ required: boolean;
681
+ examples: string[];
682
+ type: "string";
683
+ validator: (value: string) => string;
684
+ } & {
685
+ key: "SPFN_AUTH_KAKAO_SCOPES";
686
+ };
687
+ SPFN_AUTH_KAKAO_REDIRECT_URI: {
688
+ description: string;
689
+ required: boolean;
690
+ examples: string[];
691
+ type: "string";
692
+ validator: (value: string) => string;
362
693
  } & {
363
- key: "SPFN_AUTH_AWS_SNS_SECRET_ACCESS_KEY";
694
+ key: "SPFN_AUTH_KAKAO_REDIRECT_URI";
364
695
  };
365
- SPFN_AUTH_AWS_SNS_SENDER_ID: {
696
+ SPFN_AUTH_NAVER_CLIENT_ID: {
366
697
  description: string;
367
698
  required: boolean;
368
699
  examples: string[];
369
700
  type: "string";
701
+ validator: (value: string) => string;
370
702
  } & {
371
- key: "SPFN_AUTH_AWS_SNS_SENDER_ID";
703
+ key: "SPFN_AUTH_NAVER_CLIENT_ID";
372
704
  };
373
- SPFN_AUTH_AWS_SES_ACCESS_KEY_ID: {
705
+ SPFN_AUTH_NAVER_CLIENT_SECRET: {
374
706
  description: string;
375
707
  required: boolean;
376
708
  sensitive: boolean;
377
709
  examples: string[];
378
710
  type: "string";
711
+ validator: (value: string) => string;
712
+ } & {
713
+ key: "SPFN_AUTH_NAVER_CLIENT_SECRET";
714
+ };
715
+ SPFN_AUTH_NAVER_REDIRECT_URI: {
716
+ description: string;
717
+ required: boolean;
718
+ examples: string[];
719
+ type: "string";
720
+ validator: (value: string) => string;
721
+ } & {
722
+ key: "SPFN_AUTH_NAVER_REDIRECT_URI";
723
+ };
724
+ SPFN_AUTH_GITHUB_CLIENT_ID: {
725
+ description: string;
726
+ required: boolean;
727
+ examples: string[];
728
+ type: "string";
729
+ validator: (value: string) => string;
379
730
  } & {
380
- key: "SPFN_AUTH_AWS_SES_ACCESS_KEY_ID";
731
+ key: "SPFN_AUTH_GITHUB_CLIENT_ID";
381
732
  };
382
- SPFN_AUTH_AWS_SES_SECRET_ACCESS_KEY: {
733
+ SPFN_AUTH_GITHUB_CLIENT_SECRET: {
383
734
  description: string;
384
735
  required: boolean;
385
736
  sensitive: boolean;
386
737
  examples: string[];
387
738
  type: "string";
739
+ validator: (value: string) => string;
740
+ } & {
741
+ key: "SPFN_AUTH_GITHUB_CLIENT_SECRET";
742
+ };
743
+ SPFN_AUTH_GITHUB_SCOPES: {
744
+ description: string;
745
+ required: boolean;
746
+ examples: string[];
747
+ type: "string";
748
+ validator: (value: string) => string;
749
+ } & {
750
+ key: "SPFN_AUTH_GITHUB_SCOPES";
751
+ };
752
+ SPFN_AUTH_GITHUB_REDIRECT_URI: {
753
+ description: string;
754
+ required: boolean;
755
+ examples: string[];
756
+ type: "string";
757
+ validator: (value: string) => string;
758
+ } & {
759
+ key: "SPFN_AUTH_GITHUB_REDIRECT_URI";
760
+ };
761
+ SPFN_AUTH_GOOGLE_NATIVE_CLIENT_IDS: {
762
+ description: string;
763
+ required: boolean;
764
+ examples: string[];
765
+ type: "string";
766
+ validator: (value: string) => string;
388
767
  } & {
389
- key: "SPFN_AUTH_AWS_SES_SECRET_ACCESS_KEY";
768
+ key: "SPFN_AUTH_GOOGLE_NATIVE_CLIENT_IDS";
390
769
  };
391
- SPFN_AUTH_AWS_SES_FROM_EMAIL: {
770
+ SPFN_AUTH_APPLE_CLIENT_IDS: {
392
771
  description: string;
393
772
  required: boolean;
394
773
  examples: string[];
395
774
  type: "string";
775
+ validator: (value: string) => string;
396
776
  } & {
397
- key: "SPFN_AUTH_AWS_SES_FROM_EMAIL";
777
+ key: "SPFN_AUTH_APPLE_CLIENT_IDS";
398
778
  };
399
- SPFN_AUTH_AWS_SES_FROM_NAME: {
779
+ SPFN_AUTH_OAUTH_SUCCESS_URL: {
400
780
  description: string;
401
781
  required: boolean;
782
+ default: string;
783
+ examples: string[];
784
+ type: "string";
785
+ validator: (value: string) => string;
786
+ } & {
787
+ key: "SPFN_AUTH_OAUTH_SUCCESS_URL";
788
+ };
789
+ SPFN_AUTH_OAUTH_ERROR_URL: {
790
+ description: string;
791
+ required: boolean;
792
+ default: string;
402
793
  examples: string[];
403
794
  type: "string";
795
+ validator: (value: string) => string;
404
796
  } & {
405
- key: "SPFN_AUTH_AWS_SES_FROM_NAME";
797
+ key: "SPFN_AUTH_OAUTH_ERROR_URL";
406
798
  };
407
799
  }>;
408
800