naystack 1.4.16 → 1.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/email/client.cjs.js +69 -12
- package/dist/auth/email/client.esm.js +69 -12
- package/dist/auth/email/index.cjs.js +74 -15
- package/dist/auth/email/index.esm.js +74 -15
- package/dist/auth/email/routes/delete.cjs.js +56 -4
- package/dist/auth/email/routes/delete.esm.js +56 -4
- package/dist/auth/email/routes/get.cjs.js +54 -2
- package/dist/auth/email/routes/get.esm.js +54 -2
- package/dist/auth/email/routes/post.cjs.js +59 -6
- package/dist/auth/email/routes/post.esm.js +59 -6
- package/dist/auth/email/routes/put.cjs.js +54 -4
- package/dist/auth/email/routes/put.esm.js +54 -4
- package/dist/auth/email/token.cjs.js +51 -2
- package/dist/auth/email/token.esm.js +51 -2
- package/dist/auth/email/types.d.mts +1 -7
- package/dist/auth/email/types.d.ts +1 -7
- package/dist/auth/email/utils.cjs.js +58 -5
- package/dist/auth/email/utils.d.mts +2 -2
- package/dist/auth/email/utils.d.ts +2 -2
- package/dist/auth/email/utils.esm.js +58 -5
- package/dist/auth/google/get.cjs.js +57 -7
- package/dist/auth/google/get.d.mts +1 -3
- package/dist/auth/google/get.d.ts +1 -3
- package/dist/auth/google/get.esm.js +57 -7
- package/dist/auth/google/index.cjs.js +57 -7
- package/dist/auth/google/index.d.mts +0 -5
- package/dist/auth/google/index.d.ts +0 -5
- package/dist/auth/google/index.esm.js +57 -7
- package/dist/auth/index.cjs.js +89 -31
- package/dist/auth/index.esm.js +89 -31
- package/dist/auth/instagram/client.cjs.js +54 -1
- package/dist/auth/instagram/client.d.mts +1 -1
- package/dist/auth/instagram/client.d.ts +1 -1
- package/dist/auth/instagram/client.esm.js +52 -1
- package/dist/auth/instagram/index.cjs.js +58 -9
- package/dist/auth/instagram/index.d.mts +0 -2
- package/dist/auth/instagram/index.d.ts +0 -2
- package/dist/auth/instagram/index.esm.js +58 -9
- package/dist/auth/instagram/route.cjs.js +58 -9
- package/dist/auth/instagram/route.d.mts +1 -1
- package/dist/auth/instagram/route.d.ts +1 -1
- package/dist/auth/instagram/route.esm.js +58 -9
- package/dist/auth/instagram/utils.cjs.js +52 -1
- package/dist/auth/instagram/utils.esm.js +50 -1
- package/dist/client/index.cjs.js +50 -1
- package/dist/client/index.esm.js +50 -1
- package/dist/client/seo.cjs.js +52 -1
- package/dist/client/seo.esm.js +50 -1
- package/dist/env.cjs.js +101 -0
- package/dist/env.d.mts +24 -0
- package/dist/env.d.ts +24 -0
- package/dist/env.esm.js +74 -0
- package/dist/file/client.cjs.js +52 -1
- package/dist/file/client.esm.js +52 -1
- package/dist/file/index.cjs.js +82 -28
- package/dist/file/index.d.mts +0 -2
- package/dist/file/index.d.ts +0 -2
- package/dist/file/index.esm.js +82 -28
- package/dist/file/put.cjs.js +65 -11
- package/dist/file/put.d.mts +0 -2
- package/dist/file/put.d.ts +0 -2
- package/dist/file/put.esm.js +65 -11
- package/dist/file/setup.cjs.js +82 -28
- package/dist/file/setup.d.mts +0 -7
- package/dist/file/setup.d.ts +0 -7
- package/dist/file/setup.esm.js +82 -28
- package/dist/file/utils.cjs.js +70 -17
- package/dist/file/utils.d.mts +6 -10
- package/dist/file/utils.d.ts +6 -10
- package/dist/file/utils.esm.js +70 -17
- package/dist/graphql/client.cjs.js +57 -3
- package/dist/graphql/client.d.mts +1 -1
- package/dist/graphql/client.d.ts +1 -1
- package/dist/graphql/client.esm.js +57 -3
- package/dist/graphql/index.cjs.js +107 -3
- package/dist/graphql/index.d.mts +1 -0
- package/dist/graphql/index.d.ts +1 -0
- package/dist/graphql/index.esm.js +107 -3
- package/dist/graphql/init.cjs.js +53 -2
- package/dist/graphql/init.esm.js +53 -2
- package/dist/graphql/server.cjs.js +52 -1
- package/dist/graphql/server.esm.js +52 -1
- package/dist/graphql/utils.cjs.js +54 -1
- package/dist/graphql/utils.d.mts +10 -3
- package/dist/graphql/utils.d.ts +10 -3
- package/dist/graphql/utils.esm.js +54 -1
- package/package.json +1 -1
|
@@ -5,6 +5,55 @@ import { cookies } from "next/headers";
|
|
|
5
5
|
import { redirect } from "next/navigation";
|
|
6
6
|
import { NextResponse } from "next/server";
|
|
7
7
|
|
|
8
|
+
// src/env.ts
|
|
9
|
+
var getEnvValue = (key) => {
|
|
10
|
+
switch (key) {
|
|
11
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
12
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
13
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
14
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
15
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
16
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
17
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
18
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
19
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
20
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
21
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
22
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
23
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
24
|
+
return process.env.REFRESH_KEY;
|
|
25
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
26
|
+
return process.env.SIGNING_KEY;
|
|
27
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
28
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
29
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
30
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
31
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
32
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
33
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
34
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
35
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
36
|
+
return process.env.TURNSTILE_KEY;
|
|
37
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
38
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
39
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
40
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
41
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
42
|
+
return process.env.AWS_REGION;
|
|
43
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
44
|
+
return process.env.AWS_BUCKET;
|
|
45
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
46
|
+
return process.env.NODE_ENV;
|
|
47
|
+
default:
|
|
48
|
+
return process.env[key];
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
function getEnv(key, skipCheck) {
|
|
52
|
+
const value = getEnvValue(key);
|
|
53
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
|
|
8
57
|
// src/auth/constants.ts
|
|
9
58
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
10
59
|
|
|
@@ -50,17 +99,20 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
50
99
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
51
100
|
|
|
52
101
|
// src/auth/email/utils.ts
|
|
53
|
-
var getContext = (
|
|
102
|
+
var getContext = (req) => {
|
|
54
103
|
const bearer = req.headers.get("authorization");
|
|
55
104
|
if (!bearer) {
|
|
56
105
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
57
|
-
const userId = getUserIdFromRefreshToken(
|
|
106
|
+
const userId = getUserIdFromRefreshToken(
|
|
107
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
108
|
+
refresh
|
|
109
|
+
);
|
|
58
110
|
if (userId) return { userId, isRefreshID: true };
|
|
59
111
|
return { userId: null };
|
|
60
112
|
}
|
|
61
113
|
const token = bearer.slice(7);
|
|
62
114
|
try {
|
|
63
|
-
const res = verify2(token,
|
|
115
|
+
const res = verify2(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
64
116
|
if (typeof res === "string") {
|
|
65
117
|
return { userId: null };
|
|
66
118
|
}
|
|
@@ -75,7 +127,7 @@ var getContext = (keys, req) => {
|
|
|
75
127
|
// src/auth/email/routes/delete.ts
|
|
76
128
|
var getDeleteRoute = (options) => async (req) => {
|
|
77
129
|
if (options.onLogout) {
|
|
78
|
-
const ctx = await getContext(
|
|
130
|
+
const ctx = await getContext(req);
|
|
79
131
|
const body = await req.json();
|
|
80
132
|
await options.onLogout?.(ctx.userId, body);
|
|
81
133
|
}
|
|
@@ -24,6 +24,55 @@ __export(get_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(get_exports);
|
|
26
26
|
|
|
27
|
+
// src/env.ts
|
|
28
|
+
var getEnvValue = (key) => {
|
|
29
|
+
switch (key) {
|
|
30
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
31
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
32
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
33
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
34
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
35
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
36
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
37
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
38
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
39
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
40
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
41
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
42
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
43
|
+
return process.env.REFRESH_KEY;
|
|
44
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
45
|
+
return process.env.SIGNING_KEY;
|
|
46
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
47
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
48
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
49
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
50
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
51
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
52
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
53
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
54
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
55
|
+
return process.env.TURNSTILE_KEY;
|
|
56
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
57
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
58
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
59
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
60
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
61
|
+
return process.env.AWS_REGION;
|
|
62
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
63
|
+
return process.env.AWS_BUCKET;
|
|
64
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
65
|
+
return process.env.NODE_ENV;
|
|
66
|
+
default:
|
|
67
|
+
return process.env[key];
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
function getEnv(key, skipCheck) {
|
|
71
|
+
const value = getEnvValue(key);
|
|
72
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
|
|
27
76
|
// src/auth/constants.ts
|
|
28
77
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
29
78
|
|
|
@@ -75,14 +124,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
75
124
|
// src/auth/email/routes/get.ts
|
|
76
125
|
var getGetRoute = (options) => async (req) => {
|
|
77
126
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
78
|
-
const userID = getUserIdFromRefreshToken(
|
|
127
|
+
const userID = getUserIdFromRefreshToken(
|
|
128
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
129
|
+
refresh
|
|
130
|
+
);
|
|
79
131
|
if (userID) {
|
|
80
132
|
if (options.onRefresh) {
|
|
81
133
|
const body = await req.json();
|
|
82
134
|
await options.onRefresh?.(userID, body);
|
|
83
135
|
}
|
|
84
136
|
return getTokenizedResponse(
|
|
85
|
-
generateAccessToken(userID,
|
|
137
|
+
generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
|
|
86
138
|
);
|
|
87
139
|
}
|
|
88
140
|
return getTokenizedResponse();
|
|
@@ -1,3 +1,52 @@
|
|
|
1
|
+
// src/env.ts
|
|
2
|
+
var getEnvValue = (key) => {
|
|
3
|
+
switch (key) {
|
|
4
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
5
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
6
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
7
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
8
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
9
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
10
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
11
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
12
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
13
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
14
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
15
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
16
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
17
|
+
return process.env.REFRESH_KEY;
|
|
18
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
19
|
+
return process.env.SIGNING_KEY;
|
|
20
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
21
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
22
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
23
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
24
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
25
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
26
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
27
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
28
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
29
|
+
return process.env.TURNSTILE_KEY;
|
|
30
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
31
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
32
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
33
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
34
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
35
|
+
return process.env.AWS_REGION;
|
|
36
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
37
|
+
return process.env.AWS_BUCKET;
|
|
38
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
39
|
+
return process.env.NODE_ENV;
|
|
40
|
+
default:
|
|
41
|
+
return process.env[key];
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
function getEnv(key, skipCheck) {
|
|
45
|
+
const value = getEnvValue(key);
|
|
46
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
|
|
1
50
|
// src/auth/constants.ts
|
|
2
51
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
3
52
|
|
|
@@ -49,14 +98,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
49
98
|
// src/auth/email/routes/get.ts
|
|
50
99
|
var getGetRoute = (options) => async (req) => {
|
|
51
100
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
52
|
-
const userID = getUserIdFromRefreshToken(
|
|
101
|
+
const userID = getUserIdFromRefreshToken(
|
|
102
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
103
|
+
refresh
|
|
104
|
+
);
|
|
53
105
|
if (userID) {
|
|
54
106
|
if (options.onRefresh) {
|
|
55
107
|
const body = await req.json();
|
|
56
108
|
await options.onRefresh?.(userID, body);
|
|
57
109
|
}
|
|
58
110
|
return getTokenizedResponse(
|
|
59
|
-
generateAccessToken(userID,
|
|
111
|
+
generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
|
|
60
112
|
);
|
|
61
113
|
}
|
|
62
114
|
return getTokenizedResponse();
|
|
@@ -25,6 +25,55 @@ __export(post_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(post_exports);
|
|
26
26
|
var import_bcryptjs2 = require("bcryptjs");
|
|
27
27
|
|
|
28
|
+
// src/env.ts
|
|
29
|
+
var getEnvValue = (key) => {
|
|
30
|
+
switch (key) {
|
|
31
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
32
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
33
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
34
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
35
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
36
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
37
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
38
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
39
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
40
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
41
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
42
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
43
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
44
|
+
return process.env.REFRESH_KEY;
|
|
45
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
46
|
+
return process.env.SIGNING_KEY;
|
|
47
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
48
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
49
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
50
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
51
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
52
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
53
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
54
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
55
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
56
|
+
return process.env.TURNSTILE_KEY;
|
|
57
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
58
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
59
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
60
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
61
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
62
|
+
return process.env.AWS_REGION;
|
|
63
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
64
|
+
return process.env.AWS_BUCKET;
|
|
65
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
66
|
+
return process.env.NODE_ENV;
|
|
67
|
+
default:
|
|
68
|
+
return process.env[key];
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
function getEnv(key, skipCheck) {
|
|
72
|
+
const value = getEnvValue(key);
|
|
73
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
|
|
28
77
|
// src/auth/utils/errors.ts
|
|
29
78
|
var import_server = require("next/server");
|
|
30
79
|
function handleError(status, message, onError) {
|
|
@@ -86,12 +135,13 @@ async function massageRequest(req, options) {
|
|
|
86
135
|
return {
|
|
87
136
|
error: handleError(400, "Missing password", options.onError)
|
|
88
137
|
};
|
|
89
|
-
|
|
138
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
139
|
+
if (turnstileKey) {
|
|
90
140
|
if (!data.captchaToken)
|
|
91
141
|
return {
|
|
92
142
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
93
143
|
};
|
|
94
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
144
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
95
145
|
return {
|
|
96
146
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
97
147
|
};
|
|
@@ -133,8 +183,11 @@ var getPostRoute = (options) => async (req) => {
|
|
|
133
183
|
if (existingUser) {
|
|
134
184
|
if (await verifyUser(existingUser, data.password)) {
|
|
135
185
|
return getTokenizedResponse(
|
|
136
|
-
generateAccessToken(existingUser.id,
|
|
137
|
-
generateRefreshToken(
|
|
186
|
+
generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
187
|
+
generateRefreshToken(
|
|
188
|
+
existingUser.id,
|
|
189
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
190
|
+
)
|
|
138
191
|
);
|
|
139
192
|
}
|
|
140
193
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -149,8 +202,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
149
202
|
await options.onSignUp?.(newUser.id, data);
|
|
150
203
|
}
|
|
151
204
|
return getTokenizedResponse(
|
|
152
|
-
generateAccessToken(newUser.id,
|
|
153
|
-
generateRefreshToken(newUser.id,
|
|
205
|
+
generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
206
|
+
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
154
207
|
);
|
|
155
208
|
}
|
|
156
209
|
return getTokenizedResponse();
|
|
@@ -1,6 +1,55 @@
|
|
|
1
1
|
// src/auth/email/routes/post.ts
|
|
2
2
|
import { hash } from "bcryptjs";
|
|
3
3
|
|
|
4
|
+
// src/env.ts
|
|
5
|
+
var getEnvValue = (key) => {
|
|
6
|
+
switch (key) {
|
|
7
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
8
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
9
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
10
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
11
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
12
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
13
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
14
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
15
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
16
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
17
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
18
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
19
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
20
|
+
return process.env.REFRESH_KEY;
|
|
21
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
22
|
+
return process.env.SIGNING_KEY;
|
|
23
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
24
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
25
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
26
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
27
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
28
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
29
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
30
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
31
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
32
|
+
return process.env.TURNSTILE_KEY;
|
|
33
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
34
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
35
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
36
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
37
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
38
|
+
return process.env.AWS_REGION;
|
|
39
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
40
|
+
return process.env.AWS_BUCKET;
|
|
41
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
42
|
+
return process.env.NODE_ENV;
|
|
43
|
+
default:
|
|
44
|
+
return process.env[key];
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
function getEnv(key, skipCheck) {
|
|
48
|
+
const value = getEnvValue(key);
|
|
49
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
|
|
4
53
|
// src/auth/utils/errors.ts
|
|
5
54
|
import { NextResponse } from "next/server";
|
|
6
55
|
function handleError(status, message, onError) {
|
|
@@ -62,12 +111,13 @@ async function massageRequest(req, options) {
|
|
|
62
111
|
return {
|
|
63
112
|
error: handleError(400, "Missing password", options.onError)
|
|
64
113
|
};
|
|
65
|
-
|
|
114
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
115
|
+
if (turnstileKey) {
|
|
66
116
|
if (!data.captchaToken)
|
|
67
117
|
return {
|
|
68
118
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
69
119
|
};
|
|
70
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
120
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
71
121
|
return {
|
|
72
122
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
73
123
|
};
|
|
@@ -109,8 +159,11 @@ var getPostRoute = (options) => async (req) => {
|
|
|
109
159
|
if (existingUser) {
|
|
110
160
|
if (await verifyUser(existingUser, data.password)) {
|
|
111
161
|
return getTokenizedResponse(
|
|
112
|
-
generateAccessToken(existingUser.id,
|
|
113
|
-
generateRefreshToken(
|
|
162
|
+
generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
163
|
+
generateRefreshToken(
|
|
164
|
+
existingUser.id,
|
|
165
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
166
|
+
)
|
|
114
167
|
);
|
|
115
168
|
}
|
|
116
169
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -125,8 +178,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
125
178
|
await options.onSignUp?.(newUser.id, data);
|
|
126
179
|
}
|
|
127
180
|
return getTokenizedResponse(
|
|
128
|
-
generateAccessToken(newUser.id,
|
|
129
|
-
generateRefreshToken(newUser.id,
|
|
181
|
+
generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
182
|
+
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
130
183
|
);
|
|
131
184
|
}
|
|
132
185
|
return getTokenizedResponse();
|
|
@@ -24,6 +24,55 @@ __export(put_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(put_exports);
|
|
26
26
|
|
|
27
|
+
// src/env.ts
|
|
28
|
+
var getEnvValue = (key) => {
|
|
29
|
+
switch (key) {
|
|
30
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
31
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
32
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
33
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
34
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
35
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
36
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
37
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
38
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
39
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
40
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
41
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
42
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
43
|
+
return process.env.REFRESH_KEY;
|
|
44
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
45
|
+
return process.env.SIGNING_KEY;
|
|
46
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
47
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
48
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
49
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
50
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
51
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
52
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
53
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
54
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
55
|
+
return process.env.TURNSTILE_KEY;
|
|
56
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
57
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
58
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
59
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
60
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
61
|
+
return process.env.AWS_REGION;
|
|
62
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
63
|
+
return process.env.AWS_BUCKET;
|
|
64
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
65
|
+
return process.env.NODE_ENV;
|
|
66
|
+
default:
|
|
67
|
+
return process.env[key];
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
function getEnv(key, skipCheck) {
|
|
71
|
+
const value = getEnvValue(key);
|
|
72
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
73
|
+
return value;
|
|
74
|
+
}
|
|
75
|
+
|
|
27
76
|
// src/auth/utils/errors.ts
|
|
28
77
|
var import_server = require("next/server");
|
|
29
78
|
function handleError(status, message, onError) {
|
|
@@ -85,12 +134,13 @@ async function massageRequest(req, options) {
|
|
|
85
134
|
return {
|
|
86
135
|
error: handleError(400, "Missing password", options.onError)
|
|
87
136
|
};
|
|
88
|
-
|
|
137
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
138
|
+
if (turnstileKey) {
|
|
89
139
|
if (!data.captchaToken)
|
|
90
140
|
return {
|
|
91
141
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
92
142
|
};
|
|
93
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
143
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
94
144
|
return {
|
|
95
145
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
96
146
|
};
|
|
@@ -136,8 +186,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
136
186
|
await options.onLogin?.(user.id, data);
|
|
137
187
|
}
|
|
138
188
|
return getTokenizedResponse(
|
|
139
|
-
generateAccessToken(user.id,
|
|
140
|
-
generateRefreshToken(user.id,
|
|
189
|
+
generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
190
|
+
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
141
191
|
);
|
|
142
192
|
}
|
|
143
193
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -1,3 +1,52 @@
|
|
|
1
|
+
// src/env.ts
|
|
2
|
+
var getEnvValue = (key) => {
|
|
3
|
+
switch (key) {
|
|
4
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
5
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
6
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
7
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
8
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
9
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
10
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
11
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
12
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
13
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
14
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
15
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
16
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
17
|
+
return process.env.REFRESH_KEY;
|
|
18
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
19
|
+
return process.env.SIGNING_KEY;
|
|
20
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
21
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
22
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
23
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
24
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
25
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
26
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
27
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
28
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
29
|
+
return process.env.TURNSTILE_KEY;
|
|
30
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
31
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
32
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
33
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
34
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
35
|
+
return process.env.AWS_REGION;
|
|
36
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
37
|
+
return process.env.AWS_BUCKET;
|
|
38
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
39
|
+
return process.env.NODE_ENV;
|
|
40
|
+
default:
|
|
41
|
+
return process.env[key];
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
function getEnv(key, skipCheck) {
|
|
45
|
+
const value = getEnvValue(key);
|
|
46
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
|
|
1
50
|
// src/auth/utils/errors.ts
|
|
2
51
|
import { NextResponse } from "next/server";
|
|
3
52
|
function handleError(status, message, onError) {
|
|
@@ -59,12 +108,13 @@ async function massageRequest(req, options) {
|
|
|
59
108
|
return {
|
|
60
109
|
error: handleError(400, "Missing password", options.onError)
|
|
61
110
|
};
|
|
62
|
-
|
|
111
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
112
|
+
if (turnstileKey) {
|
|
63
113
|
if (!data.captchaToken)
|
|
64
114
|
return {
|
|
65
115
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
66
116
|
};
|
|
67
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
117
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
68
118
|
return {
|
|
69
119
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
70
120
|
};
|
|
@@ -110,8 +160,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
110
160
|
await options.onLogin?.(user.id, data);
|
|
111
161
|
}
|
|
112
162
|
return getTokenizedResponse(
|
|
113
|
-
generateAccessToken(user.id,
|
|
114
|
-
generateRefreshToken(user.id,
|
|
163
|
+
generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
164
|
+
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
115
165
|
);
|
|
116
166
|
}
|
|
117
167
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -35,6 +35,55 @@ var import_headers = require("next/headers");
|
|
|
35
35
|
var import_navigation = require("next/navigation");
|
|
36
36
|
var import_server = require("next/server");
|
|
37
37
|
|
|
38
|
+
// src/env.ts
|
|
39
|
+
var getEnvValue = (key) => {
|
|
40
|
+
switch (key) {
|
|
41
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
42
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
43
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
44
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
45
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
46
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
47
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
48
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
49
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
50
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
51
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
52
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
53
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
54
|
+
return process.env.REFRESH_KEY;
|
|
55
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
56
|
+
return process.env.SIGNING_KEY;
|
|
57
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
58
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
59
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
60
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
61
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
62
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
63
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
64
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
65
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
66
|
+
return process.env.TURNSTILE_KEY;
|
|
67
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
68
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
69
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
70
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
71
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
72
|
+
return process.env.AWS_REGION;
|
|
73
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
74
|
+
return process.env.AWS_BUCKET;
|
|
75
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
76
|
+
return process.env.NODE_ENV;
|
|
77
|
+
default:
|
|
78
|
+
return process.env[key];
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
function getEnv(key, skipCheck) {
|
|
82
|
+
const value = getEnvValue(key);
|
|
83
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
|
|
38
87
|
// src/auth/constants.ts
|
|
39
88
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
40
89
|
|
|
@@ -81,9 +130,9 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
81
130
|
return null;
|
|
82
131
|
}
|
|
83
132
|
function getUserIdFromAccessToken(refreshToken) {
|
|
84
|
-
if (refreshToken
|
|
133
|
+
if (refreshToken)
|
|
85
134
|
try {
|
|
86
|
-
const decoded = (0, import_jsonwebtoken.verify)(refreshToken,
|
|
135
|
+
const decoded = (0, import_jsonwebtoken.verify)(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
87
136
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
88
137
|
return decoded.id;
|
|
89
138
|
} catch (e) {
|