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
|
@@ -1,5 +1,56 @@
|
|
|
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/instagram/client.ts
|
|
2
|
-
var getInstagramAuthorizationURLSetup = (
|
|
51
|
+
var getInstagramAuthorizationURLSetup = (redirectURL) => (token) => `https://www.instagram.com/oauth/authorize?client_id=${getEnv(
|
|
52
|
+
"INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */
|
|
53
|
+
)}&response_type=code&enable_fb_login=0&force_authentication=1&scope=instagram_business_basic&state=${token}&redirect_uri=${redirectURL}`;
|
|
3
54
|
export {
|
|
4
55
|
getInstagramAuthorizationURLSetup
|
|
5
56
|
};
|
|
@@ -33,10 +33,61 @@ var import_jsonwebtoken = require("jsonwebtoken");
|
|
|
33
33
|
var import_headers = require("next/headers");
|
|
34
34
|
var import_navigation = require("next/navigation");
|
|
35
35
|
var import_server = require("next/server");
|
|
36
|
+
|
|
37
|
+
// src/env.ts
|
|
38
|
+
var getEnvValue = (key) => {
|
|
39
|
+
switch (key) {
|
|
40
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
41
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
42
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
43
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
44
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
45
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
46
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
47
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
48
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
49
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
50
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
51
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
52
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
53
|
+
return process.env.REFRESH_KEY;
|
|
54
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
55
|
+
return process.env.SIGNING_KEY;
|
|
56
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
57
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
58
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
59
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
60
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
61
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
62
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
63
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
64
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
65
|
+
return process.env.TURNSTILE_KEY;
|
|
66
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
67
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
68
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
69
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
70
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
71
|
+
return process.env.AWS_REGION;
|
|
72
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
73
|
+
return process.env.AWS_BUCKET;
|
|
74
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
75
|
+
return process.env.NODE_ENV;
|
|
76
|
+
default:
|
|
77
|
+
return process.env[key];
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
function getEnv(key, skipCheck) {
|
|
81
|
+
const value = getEnvValue(key);
|
|
82
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
83
|
+
return value;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// src/auth/email/token.ts
|
|
36
87
|
function getUserIdFromAccessToken(refreshToken) {
|
|
37
|
-
if (refreshToken
|
|
88
|
+
if (refreshToken)
|
|
38
89
|
try {
|
|
39
|
-
const decoded = (0, import_jsonwebtoken.verify)(refreshToken,
|
|
90
|
+
const decoded = (0, import_jsonwebtoken.verify)(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
40
91
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
41
92
|
return decoded.id;
|
|
42
93
|
} catch (e) {
|
|
@@ -70,7 +121,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
70
121
|
if (shortResData.access_token) {
|
|
71
122
|
const shortLivedToken = shortResData.access_token;
|
|
72
123
|
const longRes = await fetch(
|
|
73
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
124
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
74
125
|
);
|
|
75
126
|
if (longRes.ok) {
|
|
76
127
|
const longResData = await longRes.json();
|
|
@@ -112,9 +163,7 @@ var import_server2 = require("next/server");
|
|
|
112
163
|
var getInstagramRoute = ({
|
|
113
164
|
successRedirectURL,
|
|
114
165
|
errorRedirectURL,
|
|
115
|
-
onUser
|
|
116
|
-
clientSecret,
|
|
117
|
-
clientId
|
|
166
|
+
onUser
|
|
118
167
|
}) => {
|
|
119
168
|
const handleError = (message) => import_server3.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
|
|
120
169
|
return async (req) => {
|
|
@@ -125,9 +174,9 @@ var getInstagramRoute = ({
|
|
|
125
174
|
if (!stateToken || !accessCode) return handleError("Invalid request");
|
|
126
175
|
const instagramData = await getLongLivedToken(
|
|
127
176
|
accessCode,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
177
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
178
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
179
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
131
180
|
);
|
|
132
181
|
if (!instagramData?.accessToken)
|
|
133
182
|
return handleError("Unable to reach Instagram");
|
|
@@ -6,8 +6,6 @@ interface InitInstagramAuthOptions {
|
|
|
6
6
|
onUser: (data: InstagramUser, id: number | null, accessToken: string) => Promise<string | void>;
|
|
7
7
|
successRedirectURL: string;
|
|
8
8
|
errorRedirectURL: string;
|
|
9
|
-
clientId: string;
|
|
10
|
-
clientSecret: string;
|
|
11
9
|
refreshKey: string;
|
|
12
10
|
}
|
|
13
11
|
declare function initInstagramAuth(props: InitInstagramAuthOptions): {
|
|
@@ -6,8 +6,6 @@ interface InitInstagramAuthOptions {
|
|
|
6
6
|
onUser: (data: InstagramUser, id: number | null, accessToken: string) => Promise<string | void>;
|
|
7
7
|
successRedirectURL: string;
|
|
8
8
|
errorRedirectURL: string;
|
|
9
|
-
clientId: string;
|
|
10
|
-
clientSecret: string;
|
|
11
9
|
refreshKey: string;
|
|
12
10
|
}
|
|
13
11
|
declare function initInstagramAuth(props: InitInstagramAuthOptions): {
|
|
@@ -7,10 +7,61 @@ import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
|
7
7
|
import { cookies } from "next/headers";
|
|
8
8
|
import { redirect } from "next/navigation";
|
|
9
9
|
import { NextResponse } from "next/server";
|
|
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
|
+
|
|
60
|
+
// src/auth/email/token.ts
|
|
10
61
|
function getUserIdFromAccessToken(refreshToken) {
|
|
11
|
-
if (refreshToken
|
|
62
|
+
if (refreshToken)
|
|
12
63
|
try {
|
|
13
|
-
const decoded = verify(refreshToken,
|
|
64
|
+
const decoded = verify(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
14
65
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
15
66
|
return decoded.id;
|
|
16
67
|
} catch (e) {
|
|
@@ -44,7 +95,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
44
95
|
if (shortResData.access_token) {
|
|
45
96
|
const shortLivedToken = shortResData.access_token;
|
|
46
97
|
const longRes = await fetch(
|
|
47
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
98
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
48
99
|
);
|
|
49
100
|
if (longRes.ok) {
|
|
50
101
|
const longResData = await longRes.json();
|
|
@@ -86,9 +137,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
86
137
|
var getInstagramRoute = ({
|
|
87
138
|
successRedirectURL,
|
|
88
139
|
errorRedirectURL,
|
|
89
|
-
onUser
|
|
90
|
-
clientSecret,
|
|
91
|
-
clientId
|
|
140
|
+
onUser
|
|
92
141
|
}) => {
|
|
93
142
|
const handleError = (message) => NextResponse3.redirect(`${errorRedirectURL}?error=${message}`);
|
|
94
143
|
return async (req) => {
|
|
@@ -99,9 +148,9 @@ var getInstagramRoute = ({
|
|
|
99
148
|
if (!stateToken || !accessCode) return handleError("Invalid request");
|
|
100
149
|
const instagramData = await getLongLivedToken(
|
|
101
150
|
accessCode,
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
151
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
152
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
153
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
105
154
|
);
|
|
106
155
|
if (!instagramData?.accessToken)
|
|
107
156
|
return handleError("Unable to reach Instagram");
|
|
@@ -31,10 +31,61 @@ var import_jsonwebtoken = require("jsonwebtoken");
|
|
|
31
31
|
var import_headers = require("next/headers");
|
|
32
32
|
var import_navigation = require("next/navigation");
|
|
33
33
|
var import_server = require("next/server");
|
|
34
|
+
|
|
35
|
+
// src/env.ts
|
|
36
|
+
var getEnvValue = (key) => {
|
|
37
|
+
switch (key) {
|
|
38
|
+
case "NEXT_PUBLIC_GRAPHQL_ENDPOINT" /* NEXT_PUBLIC_GRAPHQL_ENDPOINT */:
|
|
39
|
+
return process.env.NEXT_PUBLIC_GRAPHQL_ENDPOINT;
|
|
40
|
+
case "NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */:
|
|
41
|
+
return process.env.NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT;
|
|
42
|
+
case "NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT" /* NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT */:
|
|
43
|
+
return process.env.NEXT_PUBLIC_GOOGLE_AUTH_ENDPOINT;
|
|
44
|
+
case "NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */:
|
|
45
|
+
return process.env.NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT;
|
|
46
|
+
case "NEXT_PUBLIC_FILE_ENDPOINT" /* NEXT_PUBLIC_FILE_ENDPOINT */:
|
|
47
|
+
return process.env.NEXT_PUBLIC_FILE_ENDPOINT;
|
|
48
|
+
case "NEXT_PUBLIC_BASE_URL" /* NEXT_PUBLIC_BASE_URL */:
|
|
49
|
+
return process.env.NEXT_PUBLIC_BASE_URL;
|
|
50
|
+
case "REFRESH_KEY" /* REFRESH_KEY */:
|
|
51
|
+
return process.env.REFRESH_KEY;
|
|
52
|
+
case "SIGNING_KEY" /* SIGNING_KEY */:
|
|
53
|
+
return process.env.SIGNING_KEY;
|
|
54
|
+
case "INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */:
|
|
55
|
+
return process.env.INSTAGRAM_CLIENT_SECRET;
|
|
56
|
+
case "INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */:
|
|
57
|
+
return process.env.INSTAGRAM_CLIENT_ID;
|
|
58
|
+
case "GOOGLE_CLIENT_SECRET" /* GOOGLE_CLIENT_SECRET */:
|
|
59
|
+
return process.env.GOOGLE_CLIENT_SECRET;
|
|
60
|
+
case "GOOGLE_CLIENT_ID" /* GOOGLE_CLIENT_ID */:
|
|
61
|
+
return process.env.GOOGLE_CLIENT_ID;
|
|
62
|
+
case "TURNSTILE_KEY" /* TURNSTILE_KEY */:
|
|
63
|
+
return process.env.TURNSTILE_KEY;
|
|
64
|
+
case "AWS_ACCESS_KEY_ID" /* AWS_ACCESS_KEY_ID */:
|
|
65
|
+
return process.env.AWS_ACCESS_KEY_ID;
|
|
66
|
+
case "AWS_ACCESS_KEY_SECRET" /* AWS_ACCESS_KEY_SECRET */:
|
|
67
|
+
return process.env.AWS_ACCESS_KEY_SECRET;
|
|
68
|
+
case "AWS_REGION" /* AWS_REGION */:
|
|
69
|
+
return process.env.AWS_REGION;
|
|
70
|
+
case "AWS_BUCKET" /* AWS_BUCKET */:
|
|
71
|
+
return process.env.AWS_BUCKET;
|
|
72
|
+
case "NODE_ENV" /* NODE_ENV */:
|
|
73
|
+
return process.env.NODE_ENV;
|
|
74
|
+
default:
|
|
75
|
+
return process.env[key];
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
function getEnv(key, skipCheck) {
|
|
79
|
+
const value = getEnvValue(key);
|
|
80
|
+
if (!skipCheck && !value) throw new Error(`${key} is not defined`);
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// src/auth/email/token.ts
|
|
34
85
|
function getUserIdFromAccessToken(refreshToken) {
|
|
35
|
-
if (refreshToken
|
|
86
|
+
if (refreshToken)
|
|
36
87
|
try {
|
|
37
|
-
const decoded = (0, import_jsonwebtoken.verify)(refreshToken,
|
|
88
|
+
const decoded = (0, import_jsonwebtoken.verify)(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
38
89
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
39
90
|
return decoded.id;
|
|
40
91
|
} catch (e) {
|
|
@@ -61,7 +112,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
61
112
|
if (shortResData.access_token) {
|
|
62
113
|
const shortLivedToken = shortResData.access_token;
|
|
63
114
|
const longRes = await fetch(
|
|
64
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
115
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
65
116
|
);
|
|
66
117
|
if (longRes.ok) {
|
|
67
118
|
const longResData = await longRes.json();
|
|
@@ -103,9 +154,7 @@ var import_server2 = require("next/server");
|
|
|
103
154
|
var getInstagramRoute = ({
|
|
104
155
|
successRedirectURL,
|
|
105
156
|
errorRedirectURL,
|
|
106
|
-
onUser
|
|
107
|
-
clientSecret,
|
|
108
|
-
clientId
|
|
157
|
+
onUser
|
|
109
158
|
}) => {
|
|
110
159
|
const handleError = (message) => import_server3.NextResponse.redirect(`${errorRedirectURL}?error=${message}`);
|
|
111
160
|
return async (req) => {
|
|
@@ -116,9 +165,9 @@ var getInstagramRoute = ({
|
|
|
116
165
|
if (!stateToken || !accessCode) return handleError("Invalid request");
|
|
117
166
|
const instagramData = await getLongLivedToken(
|
|
118
167
|
accessCode,
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
168
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
169
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
170
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
122
171
|
);
|
|
123
172
|
if (!instagramData?.accessToken)
|
|
124
173
|
return handleError("Unable to reach Instagram");
|
|
@@ -3,6 +3,6 @@ import { InitInstagramAuthOptions } from './index.mjs';
|
|
|
3
3
|
import './utils.mjs';
|
|
4
4
|
import '../../socials/instagram/types.mjs';
|
|
5
5
|
|
|
6
|
-
declare const getInstagramRoute: ({ successRedirectURL, errorRedirectURL, onUser,
|
|
6
|
+
declare const getInstagramRoute: ({ successRedirectURL, errorRedirectURL, onUser, }: InitInstagramAuthOptions) => (req: NextRequest) => Promise<NextResponse<unknown>>;
|
|
7
7
|
|
|
8
8
|
export { getInstagramRoute };
|
|
@@ -3,6 +3,6 @@ import { InitInstagramAuthOptions } from './index.js';
|
|
|
3
3
|
import './utils.js';
|
|
4
4
|
import '../../socials/instagram/types.js';
|
|
5
5
|
|
|
6
|
-
declare const getInstagramRoute: ({ successRedirectURL, errorRedirectURL, onUser,
|
|
6
|
+
declare const getInstagramRoute: ({ successRedirectURL, errorRedirectURL, onUser, }: InitInstagramAuthOptions) => (req: NextRequest) => Promise<NextResponse<unknown>>;
|
|
7
7
|
|
|
8
8
|
export { getInstagramRoute };
|
|
@@ -7,10 +7,61 @@ import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
|
7
7
|
import { cookies } from "next/headers";
|
|
8
8
|
import { redirect } from "next/navigation";
|
|
9
9
|
import { NextResponse } from "next/server";
|
|
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
|
+
|
|
60
|
+
// src/auth/email/token.ts
|
|
10
61
|
function getUserIdFromAccessToken(refreshToken) {
|
|
11
|
-
if (refreshToken
|
|
62
|
+
if (refreshToken)
|
|
12
63
|
try {
|
|
13
|
-
const decoded = verify(refreshToken,
|
|
64
|
+
const decoded = verify(refreshToken, getEnv("SIGNING_KEY" /* SIGNING_KEY */));
|
|
14
65
|
if (typeof decoded !== "string" && typeof decoded.id === "number")
|
|
15
66
|
return decoded.id;
|
|
16
67
|
} catch (e) {
|
|
@@ -37,7 +88,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
37
88
|
if (shortResData.access_token) {
|
|
38
89
|
const shortLivedToken = shortResData.access_token;
|
|
39
90
|
const longRes = await fetch(
|
|
40
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
91
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
41
92
|
);
|
|
42
93
|
if (longRes.ok) {
|
|
43
94
|
const longResData = await longRes.json();
|
|
@@ -79,9 +130,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
79
130
|
var getInstagramRoute = ({
|
|
80
131
|
successRedirectURL,
|
|
81
132
|
errorRedirectURL,
|
|
82
|
-
onUser
|
|
83
|
-
clientSecret,
|
|
84
|
-
clientId
|
|
133
|
+
onUser
|
|
85
134
|
}) => {
|
|
86
135
|
const handleError = (message) => NextResponse3.redirect(`${errorRedirectURL}?error=${message}`);
|
|
87
136
|
return async (req) => {
|
|
@@ -92,9 +141,9 @@ var getInstagramRoute = ({
|
|
|
92
141
|
if (!stateToken || !accessCode) return handleError("Invalid request");
|
|
93
142
|
const instagramData = await getLongLivedToken(
|
|
94
143
|
accessCode,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
144
|
+
getEnv("NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT" /* NEXT_PUBLIC_INSTAGRAM_AUTH_ENDPOINT */),
|
|
145
|
+
getEnv("INSTAGRAM_CLIENT_ID" /* INSTAGRAM_CLIENT_ID */),
|
|
146
|
+
getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)
|
|
98
147
|
);
|
|
99
148
|
if (!instagramData?.accessToken)
|
|
100
149
|
return handleError("Unable to reach Instagram");
|
|
@@ -24,6 +24,57 @@ __export(utils_exports, {
|
|
|
24
24
|
getRefreshedAccessToken: () => getRefreshedAccessToken
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(utils_exports);
|
|
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
|
+
|
|
77
|
+
// src/auth/instagram/utils.ts
|
|
27
78
|
async function getRefreshedAccessToken(token) {
|
|
28
79
|
const request = await fetch(
|
|
29
80
|
`https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=${token}`
|
|
@@ -47,7 +98,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
47
98
|
if (shortResData.access_token) {
|
|
48
99
|
const shortLivedToken = shortResData.access_token;
|
|
49
100
|
const longRes = await fetch(
|
|
50
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
101
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
51
102
|
);
|
|
52
103
|
if (longRes.ok) {
|
|
53
104
|
const longResData = await longRes.json();
|
|
@@ -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/instagram/utils.ts
|
|
2
51
|
async function getRefreshedAccessToken(token) {
|
|
3
52
|
const request = await fetch(
|
|
@@ -22,7 +71,7 @@ async function getLongLivedToken(code, redirectURL, clientId, clientSecret) {
|
|
|
22
71
|
if (shortResData.access_token) {
|
|
23
72
|
const shortLivedToken = shortResData.access_token;
|
|
24
73
|
const longRes = await fetch(
|
|
25
|
-
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${
|
|
74
|
+
`https://graph.instagram.com/access_token?grant_type=ig_exchange_token&access_token=${shortLivedToken}&client_secret=${getEnv("INSTAGRAM_CLIENT_SECRET" /* INSTAGRAM_CLIENT_SECRET */)}`
|
|
26
75
|
);
|
|
27
76
|
if (longRes.ok) {
|
|
28
77
|
const longResData = await longRes.json();
|