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
|
@@ -10,6 +10,55 @@ import { cookies } from "next/headers";
|
|
|
10
10
|
import { redirect } from "next/navigation";
|
|
11
11
|
import { NextResponse } from "next/server";
|
|
12
12
|
|
|
13
|
+
// src/env.ts
|
|
14
|
+
var getEnvValue = (key) => {
|
|
15
|
+
switch (key) {
|
|
16
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
17
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
18
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
19
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
20
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
21
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
22
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
23
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
24
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
25
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
26
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
27
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
28
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
29
|
+
return process.env.REFRESH_KEY;
|
|
30
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
31
|
+
return process.env.SIGNING_KEY;
|
|
32
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
33
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
34
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
35
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
36
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
37
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
38
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
39
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
40
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
41
|
+
return process.env.TURNSTILE_KEY;
|
|
42
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
43
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
44
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
45
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
46
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
47
|
+
return process.env.AWS_REGION;
|
|
48
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
49
|
+
return process.env.AWS_BUCKET;
|
|
50
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
51
|
+
return process.env.NODE_ENV;
|
|
52
|
+
default:
|
|
53
|
+
return process.env[key];
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
function getEnv(key, skipCheck) {
|
|
57
|
+
const value = getEnvValue(key);
|
|
58
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
|
|
13
62
|
// src/auth/constants.ts
|
|
14
63
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
15
64
|
|
|
@@ -22,13 +71,14 @@ function generateRefreshToken(id, refreshKey) {
|
|
|
22
71
|
var getGoogleGetRoute = ({
|
|
23
72
|
getUserIdFromEmail,
|
|
24
73
|
redirectURL,
|
|
25
|
-
errorRedirectURL
|
|
26
|
-
clientId,
|
|
27
|
-
clientSecret,
|
|
28
|
-
keys
|
|
74
|
+
errorRedirectURL
|
|
29
75
|
}) => {
|
|
30
|
-
const url =
|
|
31
|
-
const oauth2Client = new google.auth.OAuth2(
|
|
76
|
+
const url = getEnv("NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */);
|
|
77
|
+
const oauth2Client = new google.auth.OAuth2(
|
|
78
|
+
getEnv("GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */),
|
|
79
|
+
getEnv("GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */),
|
|
80
|
+
url
|
|
81
|
+
);
|
|
32
82
|
return async (req) => {
|
|
33
83
|
const code = req.nextUrl.searchParams.get("code");
|
|
34
84
|
const error = req.nextUrl.searchParams.get("error");
|
|
@@ -72,7 +122,7 @@ var getGoogleGetRoute = ({
|
|
|
72
122
|
if (id) {
|
|
73
123
|
res.cookies.set(
|
|
74
124
|
REFRESH_COOKIE_NAME,
|
|
75
|
-
generateRefreshToken(id,
|
|
125
|
+
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
76
126
|
{
|
|
77
127
|
httpOnly: true,
|
|
78
128
|
secure: true
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -37,6 +37,55 @@ var import_headers = require("next/headers");
|
|
|
37
37
|
var import_navigation = require("next/navigation");
|
|
38
38
|
var import_server = require("next/server");
|
|
39
39
|
|
|
40
|
+
// src/env.ts
|
|
41
|
+
var getEnvValue = (key) => {
|
|
42
|
+
switch (key) {
|
|
43
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
44
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
45
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
46
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
47
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
48
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
49
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
50
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
51
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
52
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
53
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
54
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
55
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
56
|
+
return process.env.REFRESH_KEY;
|
|
57
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
58
|
+
return process.env.SIGNING_KEY;
|
|
59
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
60
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
61
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
62
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
63
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
64
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
65
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
66
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
67
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
68
|
+
return process.env.TURNSTILE_KEY;
|
|
69
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
70
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
71
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
72
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
73
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
74
|
+
return process.env.AWS_REGION;
|
|
75
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
76
|
+
return process.env.AWS_BUCKET;
|
|
77
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
78
|
+
return process.env.NODE_ENV;
|
|
79
|
+
default:
|
|
80
|
+
return process.env[key];
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
function getEnv(key, skipCheck) {
|
|
84
|
+
const value = getEnvValue(key);
|
|
85
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
|
|
40
89
|
// src/auth/constants.ts
|
|
41
90
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
42
91
|
|
|
@@ -83,9 +132,9 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
83
132
|
return null;
|
|
84
133
|
}
|
|
85
134
|
function getUserIdFromAccessToken(refreshToken) {
|
|
86
|
-
if (refreshToken
|
|
135
|
+
if (refreshToken)
|
|
87
136
|
try {
|
|
88
|
-
const decoded = (0, import_jsonwebtoken.verify)(refreshToken,
|
|
137
|
+
const decoded = (0, import_jsonwebtoken.verify)(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
89
138
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
90
139
|
return decoded.id;
|
|
91
140
|
} catch (e) {
|
|
@@ -121,12 +170,13 @@ async function massageRequest(req, options) {
|
|
|
121
170
|
return {
|
|
122
171
|
error: handleError(400, "Missing password", options.onError)
|
|
123
172
|
};
|
|
124
|
-
|
|
173
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
174
|
+
if (turnstileKey) {
|
|
125
175
|
if (!data.captchaToken)
|
|
126
176
|
return {
|
|
127
177
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
128
178
|
};
|
|
129
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
179
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
130
180
|
return {
|
|
131
181
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
132
182
|
};
|
|
@@ -159,17 +209,20 @@ async function verifyCaptcha(token, secret) {
|
|
|
159
209
|
}
|
|
160
210
|
return false;
|
|
161
211
|
}
|
|
162
|
-
var getContext = (
|
|
212
|
+
var getContext = (req) => {
|
|
163
213
|
const bearer = req.headers.get("authorization");
|
|
164
214
|
if (!bearer) {
|
|
165
215
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
166
|
-
const userId = getUserIdFromRefreshToken(
|
|
216
|
+
const userId = getUserIdFromRefreshToken(
|
|
217
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
218
|
+
refresh
|
|
219
|
+
);
|
|
167
220
|
if (userId) return { userId, isRefreshID: true };
|
|
168
221
|
return { userId: null };
|
|
169
222
|
}
|
|
170
223
|
const token = bearer.slice(7);
|
|
171
224
|
try {
|
|
172
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
225
|
+
const res = (0, import_jsonwebtoken2.verify)(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
173
226
|
if (typeof res === "string") {
|
|
174
227
|
return { userId: null };
|
|
175
228
|
}
|
|
@@ -184,7 +237,7 @@ var getContext = (keys, req) => {
|
|
|
184
237
|
// src/auth/email/routes/delete.ts
|
|
185
238
|
var getDeleteRoute = (options) => async (req) => {
|
|
186
239
|
if (options.onLogout) {
|
|
187
|
-
const ctx = await getContext(
|
|
240
|
+
const ctx = await getContext(req);
|
|
188
241
|
const body = await req.json();
|
|
189
242
|
await options.onLogout?.(ctx.userId, body);
|
|
190
243
|
}
|
|
@@ -194,14 +247,17 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
194
247
|
// src/auth/email/routes/get.ts
|
|
195
248
|
var getGetRoute = (options) => async (req) => {
|
|
196
249
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
197
|
-
const userID = getUserIdFromRefreshToken(
|
|
250
|
+
const userID = getUserIdFromRefreshToken(
|
|
251
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
252
|
+
refresh
|
|
253
|
+
);
|
|
198
254
|
if (userID) {
|
|
199
255
|
if (options.onRefresh) {
|
|
200
256
|
const body = await req.json();
|
|
201
257
|
await options.onRefresh?.(userID, body);
|
|
202
258
|
}
|
|
203
259
|
return getTokenizedResponse(
|
|
204
|
-
generateAccessToken(userID,
|
|
260
|
+
generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
|
|
205
261
|
);
|
|
206
262
|
}
|
|
207
263
|
return getTokenizedResponse();
|
|
@@ -216,8 +272,11 @@ var getPostRoute = (options) => async (req) => {
|
|
|
216
272
|
if (existingUser) {
|
|
217
273
|
if (await verifyUser(existingUser, data.password)) {
|
|
218
274
|
return getTokenizedResponse(
|
|
219
|
-
generateAccessToken(existingUser.id,
|
|
220
|
-
generateRefreshToken(
|
|
275
|
+
generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
276
|
+
generateRefreshToken(
|
|
277
|
+
existingUser.id,
|
|
278
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
279
|
+
)
|
|
221
280
|
);
|
|
222
281
|
}
|
|
223
282
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -232,8 +291,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
232
291
|
await options.onSignUp?.(newUser.id, data);
|
|
233
292
|
}
|
|
234
293
|
return getTokenizedResponse(
|
|
235
|
-
generateAccessToken(newUser.id,
|
|
236
|
-
generateRefreshToken(newUser.id,
|
|
294
|
+
generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
295
|
+
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
237
296
|
);
|
|
238
297
|
}
|
|
239
298
|
return getTokenizedResponse();
|
|
@@ -251,8 +310,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
251
310
|
await options.onLogin?.(user.id, data);
|
|
252
311
|
}
|
|
253
312
|
return getTokenizedResponse(
|
|
254
|
-
generateAccessToken(user.id,
|
|
255
|
-
generateRefreshToken(user.id,
|
|
313
|
+
generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
314
|
+
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
256
315
|
);
|
|
257
316
|
}
|
|
258
317
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -265,7 +324,7 @@ function getEmailAuthRoutes(options) {
|
|
|
265
324
|
POST: getPostRoute(options),
|
|
266
325
|
PUT: getPutRoute(options),
|
|
267
326
|
DELETE: getDeleteRoute(options),
|
|
268
|
-
getContext
|
|
327
|
+
getContext
|
|
269
328
|
};
|
|
270
329
|
}
|
|
271
330
|
|
|
@@ -276,13 +335,14 @@ var import_uuid = require("uuid");
|
|
|
276
335
|
var getGoogleGetRoute = ({
|
|
277
336
|
getUserIdFromEmail,
|
|
278
337
|
redirectURL,
|
|
279
|
-
errorRedirectURL
|
|
280
|
-
clientId,
|
|
281
|
-
clientSecret,
|
|
282
|
-
keys
|
|
338
|
+
errorRedirectURL
|
|
283
339
|
}) => {
|
|
284
|
-
const url =
|
|
285
|
-
const oauth2Client = new import_googleapis.google.auth.OAuth2(
|
|
340
|
+
const url = getEnv("NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */);
|
|
341
|
+
const oauth2Client = new import_googleapis.google.auth.OAuth2(
|
|
342
|
+
getEnv("GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */),
|
|
343
|
+
getEnv("GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */),
|
|
344
|
+
url
|
|
345
|
+
);
|
|
286
346
|
return async (req) => {
|
|
287
347
|
const code = req.nextUrl.searchParams.get("code");
|
|
288
348
|
const error = req.nextUrl.searchParams.get("error");
|
|
@@ -326,7 +386,7 @@ var getGoogleGetRoute = ({
|
|
|
326
386
|
if (id) {
|
|
327
387
|
res.cookies.set(
|
|
328
388
|
REFRESH_COOKIE_NAME,
|
|
329
|
-
generateRefreshToken(id,
|
|
389
|
+
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
330
390
|
{
|
|
331
391
|
httpOnly: true,
|
|
332
392
|
secure: true
|
|
@@ -379,7 +439,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
379
439
|
if (shortResData.access_token) {
|
|
380
440
|
const shortLivedToken = shortResData.access_token;
|
|
381
441
|
const longRes = await fetch(
|
|
382
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
442
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
383
443
|
);
|
|
384
444
|
if (longRes.ok) {
|
|
385
445
|
const longResData = await longRes.json();
|
|
@@ -421,9 +481,7 @@ var import_server4 = require("next/server");
|
|
|
421
481
|
var getInstagramRoute = ({
|
|
422
482
|
successRedirectURL,
|
|
423
483
|
errorRedirectURL,
|
|
424
|
-
onUser
|
|
425
|
-
clientSecret,
|
|
426
|
-
clientId
|
|
484
|
+
onUser
|
|
427
485
|
}) => {
|
|
428
486
|
const handleError2 = (message) => import_server5.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
|
|
429
487
|
return async (req) => {
|
|
@@ -434,9 +492,9 @@ var getInstagramRoute = ({
|
|
|
434
492
|
if (!stateToken || !accessCode) return handleError2("Invalid request");
|
|
435
493
|
const instagramData = await getLongLivedToken(
|
|
436
494
|
accessCode,
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
495
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
496
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
497
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
440
498
|
);
|
|
441
499
|
if (!instagramData?.accessToken)
|
|
442
500
|
return handleError2("Unable to reach Instagram");
|
package/dist/auth/index.esm.js
CHANGED
|
@@ -8,6 +8,55 @@ import { cookies } from "next/headers";
|
|
|
8
8
|
import { redirect } from "next/navigation";
|
|
9
9
|
import { NextResponse } from "next/server";
|
|
10
10
|
|
|
11
|
+
// src/env.ts
|
|
12
|
+
var getEnvValue = (key) => {
|
|
13
|
+
switch (key) {
|
|
14
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
15
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
16
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
17
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
18
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
19
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
20
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
21
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
22
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
23
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
24
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
25
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
26
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
27
|
+
return process.env.REFRESH_KEY;
|
|
28
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
29
|
+
return process.env.SIGNING_KEY;
|
|
30
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
31
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
32
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
33
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
34
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
35
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
36
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
37
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
38
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
39
|
+
return process.env.TURNSTILE_KEY;
|
|
40
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
41
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
42
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
43
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
44
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
45
|
+
return process.env.AWS_REGION;
|
|
46
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
47
|
+
return process.env.AWS_BUCKET;
|
|
48
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
49
|
+
return process.env.NODE_ENV;
|
|
50
|
+
default:
|
|
51
|
+
return process.env[key];
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
function getEnv(key, skipCheck) {
|
|
55
|
+
const value = getEnvValue(key);
|
|
56
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
|
|
11
60
|
// src/auth/constants.ts
|
|
12
61
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
13
62
|
|
|
@@ -54,9 +103,9 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
54
103
|
return null;
|
|
55
104
|
}
|
|
56
105
|
function getUserIdFromAccessToken(refreshToken) {
|
|
57
|
-
if (refreshToken
|
|
106
|
+
if (refreshToken)
|
|
58
107
|
try {
|
|
59
|
-
const decoded = verify(refreshToken,
|
|
108
|
+
const decoded = verify(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
60
109
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
61
110
|
return decoded.id;
|
|
62
111
|
} catch (e) {
|
|
@@ -92,12 +141,13 @@ async function massageRequest(req, options) {
|
|
|
92
141
|
return {
|
|
93
142
|
error: handleError(400, "Missing password", options.onError)
|
|
94
143
|
};
|
|
95
|
-
|
|
144
|
+
const turnstileKey = getEnv("TURNSTILE_KEY" /* TURNSTILE_KEY */, true);
|
|
145
|
+
if (turnstileKey) {
|
|
96
146
|
if (!data.captchaToken)
|
|
97
147
|
return {
|
|
98
148
|
error: handleError(400, "Missing captchaToken", options.onError)
|
|
99
149
|
};
|
|
100
|
-
if (!await verifyCaptcha(data.captchaToken,
|
|
150
|
+
if (!await verifyCaptcha(data.captchaToken, turnstileKey))
|
|
101
151
|
return {
|
|
102
152
|
error: handleError(400, "Invalid captcha", options.onError)
|
|
103
153
|
};
|
|
@@ -130,17 +180,20 @@ async function verifyCaptcha(token, secret) {
|
|
|
130
180
|
}
|
|
131
181
|
return false;
|
|
132
182
|
}
|
|
133
|
-
var getContext = (
|
|
183
|
+
var getContext = (req) => {
|
|
134
184
|
const bearer = req.headers.get("authorization");
|
|
135
185
|
if (!bearer) {
|
|
136
186
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
137
|
-
const userId = getUserIdFromRefreshToken(
|
|
187
|
+
const userId = getUserIdFromRefreshToken(
|
|
188
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
189
|
+
refresh
|
|
190
|
+
);
|
|
138
191
|
if (userId) return { userId, isRefreshID: true };
|
|
139
192
|
return { userId: null };
|
|
140
193
|
}
|
|
141
194
|
const token = bearer.slice(7);
|
|
142
195
|
try {
|
|
143
|
-
const res = verify2(token,
|
|
196
|
+
const res = verify2(token, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
144
197
|
if (typeof res === "string") {
|
|
145
198
|
return { userId: null };
|
|
146
199
|
}
|
|
@@ -155,7 +208,7 @@ var getContext = (keys, req) => {
|
|
|
155
208
|
// src/auth/email/routes/delete.ts
|
|
156
209
|
var getDeleteRoute = (options) => async (req) => {
|
|
157
210
|
if (options.onLogout) {
|
|
158
|
-
const ctx = await getContext(
|
|
211
|
+
const ctx = await getContext(req);
|
|
159
212
|
const body = await req.json();
|
|
160
213
|
await options.onLogout?.(ctx.userId, body);
|
|
161
214
|
}
|
|
@@ -165,14 +218,17 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
165
218
|
// src/auth/email/routes/get.ts
|
|
166
219
|
var getGetRoute = (options) => async (req) => {
|
|
167
220
|
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
168
|
-
const userID = getUserIdFromRefreshToken(
|
|
221
|
+
const userID = getUserIdFromRefreshToken(
|
|
222
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */),
|
|
223
|
+
refresh
|
|
224
|
+
);
|
|
169
225
|
if (userID) {
|
|
170
226
|
if (options.onRefresh) {
|
|
171
227
|
const body = await req.json();
|
|
172
228
|
await options.onRefresh?.(userID, body);
|
|
173
229
|
}
|
|
174
230
|
return getTokenizedResponse(
|
|
175
|
-
generateAccessToken(userID,
|
|
231
|
+
generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
|
|
176
232
|
);
|
|
177
233
|
}
|
|
178
234
|
return getTokenizedResponse();
|
|
@@ -187,8 +243,11 @@ var getPostRoute = (options) => async (req) => {
|
|
|
187
243
|
if (existingUser) {
|
|
188
244
|
if (await verifyUser(existingUser, data.password)) {
|
|
189
245
|
return getTokenizedResponse(
|
|
190
|
-
generateAccessToken(existingUser.id,
|
|
191
|
-
generateRefreshToken(
|
|
246
|
+
generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
247
|
+
generateRefreshToken(
|
|
248
|
+
existingUser.id,
|
|
249
|
+
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
250
|
+
)
|
|
192
251
|
);
|
|
193
252
|
}
|
|
194
253
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -203,8 +262,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
203
262
|
await options.onSignUp?.(newUser.id, data);
|
|
204
263
|
}
|
|
205
264
|
return getTokenizedResponse(
|
|
206
|
-
generateAccessToken(newUser.id,
|
|
207
|
-
generateRefreshToken(newUser.id,
|
|
265
|
+
generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
266
|
+
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
208
267
|
);
|
|
209
268
|
}
|
|
210
269
|
return getTokenizedResponse();
|
|
@@ -222,8 +281,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
222
281
|
await options.onLogin?.(user.id, data);
|
|
223
282
|
}
|
|
224
283
|
return getTokenizedResponse(
|
|
225
|
-
generateAccessToken(user.id,
|
|
226
|
-
generateRefreshToken(user.id,
|
|
284
|
+
generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
|
|
285
|
+
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
227
286
|
);
|
|
228
287
|
}
|
|
229
288
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -236,7 +295,7 @@ function getEmailAuthRoutes(options) {
|
|
|
236
295
|
POST: getPostRoute(options),
|
|
237
296
|
PUT: getPutRoute(options),
|
|
238
297
|
DELETE: getDeleteRoute(options),
|
|
239
|
-
getContext
|
|
298
|
+
getContext
|
|
240
299
|
};
|
|
241
300
|
}
|
|
242
301
|
|
|
@@ -247,13 +306,14 @@ import { v4 } from "uuid";
|
|
|
247
306
|
var getGoogleGetRoute = ({
|
|
248
307
|
getUserIdFromEmail,
|
|
249
308
|
redirectURL,
|
|
250
|
-
errorRedirectURL
|
|
251
|
-
clientId,
|
|
252
|
-
clientSecret,
|
|
253
|
-
keys
|
|
309
|
+
errorRedirectURL
|
|
254
310
|
}) => {
|
|
255
|
-
const url =
|
|
256
|
-
const oauth2Client = new google.auth.OAuth2(
|
|
311
|
+
const url = getEnv("NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */);
|
|
312
|
+
const oauth2Client = new google.auth.OAuth2(
|
|
313
|
+
getEnv("GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */),
|
|
314
|
+
getEnv("GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */),
|
|
315
|
+
url
|
|
316
|
+
);
|
|
257
317
|
return async (req) => {
|
|
258
318
|
const code = req.nextUrl.searchParams.get("code");
|
|
259
319
|
const error = req.nextUrl.searchParams.get("error");
|
|
@@ -297,7 +357,7 @@ var getGoogleGetRoute = ({
|
|
|
297
357
|
if (id) {
|
|
298
358
|
res.cookies.set(
|
|
299
359
|
REFRESH_COOKIE_NAME,
|
|
300
|
-
generateRefreshToken(id,
|
|
360
|
+
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
301
361
|
{
|
|
302
362
|
httpOnly: true,
|
|
303
363
|
secure: true
|
|
@@ -350,7 +410,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
350
410
|
if (shortResData.access_token) {
|
|
351
411
|
const shortLivedToken = shortResData.access_token;
|
|
352
412
|
const longRes = await fetch(
|
|
353
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
413
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
354
414
|
);
|
|
355
415
|
if (longRes.ok) {
|
|
356
416
|
const longResData = await longRes.json();
|
|
@@ -392,9 +452,7 @@ import { NextResponse as NextResponse4 } from "next/server";
|
|
|
392
452
|
var getInstagramRoute = ({
|
|
393
453
|
successRedirectURL,
|
|
394
454
|
errorRedirectURL,
|
|
395
|
-
onUser
|
|
396
|
-
clientSecret,
|
|
397
|
-
clientId
|
|
455
|
+
onUser
|
|
398
456
|
}) => {
|
|
399
457
|
const handleError2 = (message) => NextResponse5.redirect(`${errorRedirectURL}?error=${message}`);
|
|
400
458
|
return async (req) => {
|
|
@@ -405,9 +463,9 @@ var getInstagramRoute = ({
|
|
|
405
463
|
if (!stateToken || !accessCode) return handleError2("Invalid request");
|
|
406
464
|
const instagramData = await getLongLivedToken(
|
|
407
465
|
accessCode,
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
466
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
467
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
468
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
411
469
|
);
|
|
412
470
|
if (!instagramData?.accessToken)
|
|
413
471
|
return handleError2("Unable to reach Instagram");
|
|
@@ -23,7 +23,60 @@ __export(client_exports, {
|
|
|
23
23
|
getInstagramAuthorizationURLSetup: () => getInstagramAuthorizationURLSetup
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(client_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
|
+
|
|
76
|
+
// src/auth/instagram/client.ts
|
|
77
|
+
var getInstagramAuthorizationURLSetup = (redirectURL) => (token) => `https://www.instagram.com/oauth/authorize?client_id=${getEnv(
|
|
78
|
+
"INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */
|
|
79
|
+
)}&response_type=code&enable_fb_login=0&force_authentication=1&scope=instagram_business_basic&state=${token}&redirect_uri=${redirectURL}`;
|
|
27
80
|
// Annotate the CommonJS export names for ESM import in node:
|
|
28
81
|
0 && (module.exports = {
|
|
29
82
|
getInstagramAuthorizationURLSetup
|