naystack 1.4.3 → 1.4.5
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/constants.cjs.js +30 -0
- package/dist/auth/constants.d.mts +3 -0
- package/dist/auth/constants.d.ts +3 -0
- package/dist/auth/constants.esm.js +5 -0
- package/dist/auth/email/index.cjs.js +20 -4
- package/dist/auth/email/index.d.mts +1 -0
- package/dist/auth/email/index.d.ts +1 -0
- package/dist/auth/email/index.esm.js +19 -4
- package/dist/auth/email/routes/delete.cjs.js +10 -3
- package/dist/auth/email/routes/delete.esm.js +10 -3
- package/dist/auth/email/routes/get.cjs.js +8 -3
- package/dist/auth/email/routes/get.esm.js +8 -3
- package/dist/auth/email/routes/post.cjs.js +9 -2
- package/dist/auth/email/routes/post.esm.js +9 -2
- package/dist/auth/email/routes/put.cjs.js +9 -2
- package/dist/auth/email/routes/put.esm.js +9 -2
- package/dist/auth/email/token.cjs.js +18 -2
- package/dist/auth/email/token.d.mts +2 -1
- package/dist/auth/email/token.d.ts +2 -1
- package/dist/auth/email/token.esm.js +17 -2
- package/dist/auth/email/utils.cjs.js +8 -1
- package/dist/auth/email/utils.esm.js +8 -1
- package/dist/auth/google/get.cjs.js +25 -17
- package/dist/auth/google/get.d.mts +3 -1
- package/dist/auth/google/get.d.ts +3 -1
- package/dist/auth/google/get.esm.js +25 -17
- package/dist/auth/google/index.cjs.js +25 -17
- package/dist/auth/google/index.d.mts +6 -4
- package/dist/auth/google/index.d.ts +6 -4
- package/dist/auth/google/index.esm.js +25 -17
- package/dist/auth/index.cjs.js +38 -21
- package/dist/auth/index.d.mts +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.esm.js +37 -21
- package/dist/auth/instagram/index.cjs.js +2 -0
- package/dist/auth/instagram/index.esm.js +2 -0
- package/dist/auth/instagram/route.cjs.js +2 -0
- package/dist/auth/instagram/route.esm.js +2 -0
- package/dist/file/index.cjs.js +8 -1
- package/dist/file/index.esm.js +8 -1
- package/dist/file/put.cjs.js +8 -1
- package/dist/file/put.esm.js +8 -1
- package/dist/file/setup.cjs.js +8 -1
- package/dist/file/setup.esm.js +8 -1
- package/package.json +1 -1
package/dist/auth/index.esm.js
CHANGED
|
@@ -4,7 +4,14 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
4
4
|
// src/auth/email/token.ts
|
|
5
5
|
import { compare } from "bcryptjs";
|
|
6
6
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
7
|
+
import { cookies } from "next/headers";
|
|
8
|
+
import { redirect } from "next/navigation";
|
|
7
9
|
import { NextResponse } from "next/server";
|
|
10
|
+
|
|
11
|
+
// src/auth/constants.ts
|
|
12
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
13
|
+
|
|
14
|
+
// src/auth/email/token.ts
|
|
8
15
|
function generateAccessToken(id, signingKey) {
|
|
9
16
|
return sign({ id }, signingKey, {
|
|
10
17
|
expiresIn: "2h"
|
|
@@ -19,14 +26,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
19
26
|
status: 200
|
|
20
27
|
});
|
|
21
28
|
if (!accessToken) {
|
|
22
|
-
response.cookies.set(
|
|
29
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
23
30
|
secure: false,
|
|
24
31
|
httpOnly: true,
|
|
25
32
|
expires: 0
|
|
26
33
|
});
|
|
27
34
|
}
|
|
28
35
|
if (refreshToken !== void 0) {
|
|
29
|
-
response.cookies.set(
|
|
36
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
30
37
|
secure: false,
|
|
31
38
|
httpOnly: true,
|
|
32
39
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -62,6 +69,13 @@ function verifyUser(user, password) {
|
|
|
62
69
|
if (!user.password) return false;
|
|
63
70
|
return compare(password, user.password);
|
|
64
71
|
}
|
|
72
|
+
async function checkAuthStatus(redirectUnauthorizedURL) {
|
|
73
|
+
const Cookie = await cookies();
|
|
74
|
+
const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
|
|
75
|
+
if (!isAuthorized && redirectUnauthorizedURL)
|
|
76
|
+
return redirect(redirectUnauthorizedURL);
|
|
77
|
+
return isAuthorized;
|
|
78
|
+
}
|
|
65
79
|
|
|
66
80
|
// src/auth/utils/errors.ts
|
|
67
81
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
@@ -119,7 +133,7 @@ async function verifyCaptcha(token, secret) {
|
|
|
119
133
|
var getContext = (keys, req) => {
|
|
120
134
|
const bearer = req.headers.get("authorization");
|
|
121
135
|
if (!bearer) {
|
|
122
|
-
const refresh = req.cookies.get(
|
|
136
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
123
137
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
124
138
|
if (userId) return { userId, isRefreshID: true };
|
|
125
139
|
return { userId: null };
|
|
@@ -149,7 +163,7 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
149
163
|
|
|
150
164
|
// src/auth/email/routes/get.ts
|
|
151
165
|
var getGetRoute = (options) => async (req) => {
|
|
152
|
-
const refresh = req.cookies.get(
|
|
166
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
153
167
|
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
154
168
|
if (userID) {
|
|
155
169
|
if (options.onRefresh) {
|
|
@@ -230,18 +244,14 @@ import { NextResponse as NextResponse3 } from "next/server";
|
|
|
230
244
|
import { v4 } from "uuid";
|
|
231
245
|
var getGoogleGetRoute = ({
|
|
232
246
|
getUserIdFromEmail,
|
|
233
|
-
|
|
247
|
+
redirectURL,
|
|
234
248
|
errorRedirectURL,
|
|
235
|
-
|
|
249
|
+
url,
|
|
236
250
|
clientId,
|
|
237
251
|
clientSecret,
|
|
238
|
-
|
|
252
|
+
keys
|
|
239
253
|
}) => {
|
|
240
|
-
const oauth2Client = new google.auth.OAuth2(
|
|
241
|
-
clientId,
|
|
242
|
-
clientSecret,
|
|
243
|
-
authRoute
|
|
244
|
-
);
|
|
254
|
+
const oauth2Client = new google.auth.OAuth2(clientId, clientSecret, url);
|
|
245
255
|
return async (req) => {
|
|
246
256
|
const code = req.nextUrl.searchParams.get("code");
|
|
247
257
|
const error = req.nextUrl.searchParams.get("error");
|
|
@@ -255,7 +265,7 @@ var getGoogleGetRoute = ({
|
|
|
255
265
|
state: state2,
|
|
256
266
|
include_granted_scopes: true,
|
|
257
267
|
prompt: "consent",
|
|
258
|
-
redirect_uri:
|
|
268
|
+
redirect_uri: url
|
|
259
269
|
});
|
|
260
270
|
const res = NextResponse3.redirect(authorizationUrl);
|
|
261
271
|
res.cookies.set("state", state2, {
|
|
@@ -264,13 +274,14 @@ var getGoogleGetRoute = ({
|
|
|
264
274
|
});
|
|
265
275
|
return res;
|
|
266
276
|
}
|
|
277
|
+
const errorURL = errorRedirectURL || redirectURL;
|
|
267
278
|
if (error) {
|
|
268
|
-
return NextResponse3.redirect(
|
|
279
|
+
return NextResponse3.redirect(errorURL);
|
|
269
280
|
}
|
|
270
281
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
271
282
|
if (code && state) {
|
|
272
283
|
const localState = req.cookies.get("state")?.value;
|
|
273
|
-
if (localState !== state) return NextResponse3.redirect(
|
|
284
|
+
if (localState !== state) return NextResponse3.redirect(errorURL);
|
|
274
285
|
const { tokens } = await oauth2Client.getToken(code);
|
|
275
286
|
oauth2Client.setCredentials(tokens);
|
|
276
287
|
const userInfoRequest = await google.oauth2({
|
|
@@ -280,12 +291,16 @@ var getGoogleGetRoute = ({
|
|
|
280
291
|
const user = userInfoRequest.data;
|
|
281
292
|
if (user.email) {
|
|
282
293
|
const id = await getUserIdFromEmail(user);
|
|
283
|
-
const res = NextResponse3.redirect(
|
|
294
|
+
const res = NextResponse3.redirect(redirectURL);
|
|
284
295
|
if (id) {
|
|
285
|
-
res.cookies.set(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
296
|
+
res.cookies.set(
|
|
297
|
+
REFRESH_COOKIE_NAME,
|
|
298
|
+
generateRefreshToken(id, keys.refresh),
|
|
299
|
+
{
|
|
300
|
+
httpOnly: true,
|
|
301
|
+
secure: true
|
|
302
|
+
}
|
|
303
|
+
);
|
|
289
304
|
}
|
|
290
305
|
res.cookies.set("state", "", {
|
|
291
306
|
httpOnly: true,
|
|
@@ -295,7 +310,7 @@ var getGoogleGetRoute = ({
|
|
|
295
310
|
return res;
|
|
296
311
|
}
|
|
297
312
|
}
|
|
298
|
-
return NextResponse3.redirect(
|
|
313
|
+
return NextResponse3.redirect(errorURL);
|
|
299
314
|
};
|
|
300
315
|
};
|
|
301
316
|
|
|
@@ -416,6 +431,7 @@ function initInstagramAuth(props) {
|
|
|
416
431
|
};
|
|
417
432
|
}
|
|
418
433
|
export {
|
|
434
|
+
checkAuthStatus,
|
|
419
435
|
getEmailAuthRoutes,
|
|
420
436
|
initGoogleAuth,
|
|
421
437
|
initInstagramAuth
|
|
@@ -30,6 +30,8 @@ var import_server3 = require("next/server");
|
|
|
30
30
|
// src/auth/email/token.ts
|
|
31
31
|
var import_bcryptjs = require("bcryptjs");
|
|
32
32
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
33
|
+
var import_headers = require("next/headers");
|
|
34
|
+
var import_navigation = require("next/navigation");
|
|
33
35
|
var import_server = require("next/server");
|
|
34
36
|
function getUserIdFromAccessToken(refreshToken) {
|
|
35
37
|
if (refreshToken && process.env.SIGNING_KEY)
|
|
@@ -4,6 +4,8 @@ import { NextResponse as NextResponse3 } from "next/server";
|
|
|
4
4
|
// src/auth/email/token.ts
|
|
5
5
|
import { compare } from "bcryptjs";
|
|
6
6
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
7
|
+
import { cookies } from "next/headers";
|
|
8
|
+
import { redirect } from "next/navigation";
|
|
7
9
|
import { NextResponse } from "next/server";
|
|
8
10
|
function getUserIdFromAccessToken(refreshToken) {
|
|
9
11
|
if (refreshToken && process.env.SIGNING_KEY)
|
|
@@ -28,6 +28,8 @@ var import_server3 = require("next/server");
|
|
|
28
28
|
// src/auth/email/token.ts
|
|
29
29
|
var import_bcryptjs = require("bcryptjs");
|
|
30
30
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
31
|
+
var import_headers = require("next/headers");
|
|
32
|
+
var import_navigation = require("next/navigation");
|
|
31
33
|
var import_server = require("next/server");
|
|
32
34
|
function getUserIdFromAccessToken(refreshToken) {
|
|
33
35
|
if (refreshToken && process.env.SIGNING_KEY)
|
|
@@ -4,6 +4,8 @@ import { NextResponse as NextResponse3 } from "next/server";
|
|
|
4
4
|
// src/auth/email/token.ts
|
|
5
5
|
import { compare } from "bcryptjs";
|
|
6
6
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
7
|
+
import { cookies } from "next/headers";
|
|
8
|
+
import { redirect } from "next/navigation";
|
|
7
9
|
import { NextResponse } from "next/server";
|
|
8
10
|
function getUserIdFromAccessToken(refreshToken) {
|
|
9
11
|
if (refreshToken && process.env.SIGNING_KEY)
|
package/dist/file/index.cjs.js
CHANGED
|
@@ -34,7 +34,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
34
34
|
// src/auth/email/token.ts
|
|
35
35
|
var import_bcryptjs = require("bcryptjs");
|
|
36
36
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
37
|
+
var import_headers = require("next/headers");
|
|
38
|
+
var import_navigation = require("next/navigation");
|
|
37
39
|
var import_server = require("next/server");
|
|
40
|
+
|
|
41
|
+
// src/auth/constants.ts
|
|
42
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
43
|
+
|
|
44
|
+
// src/auth/email/token.ts
|
|
38
45
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
39
46
|
if (refreshToken)
|
|
40
47
|
try {
|
|
@@ -55,7 +62,7 @@ var import_server2 = require("next/server");
|
|
|
55
62
|
var getContext = (keys, req) => {
|
|
56
63
|
const bearer = req.headers.get("authorization");
|
|
57
64
|
if (!bearer) {
|
|
58
|
-
const refresh = req.cookies.get(
|
|
65
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
59
66
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
60
67
|
if (userId) return { userId, isRefreshID: true };
|
|
61
68
|
return { userId: null };
|
package/dist/file/index.esm.js
CHANGED
|
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
8
8
|
// src/auth/email/token.ts
|
|
9
9
|
import { compare } from "bcryptjs";
|
|
10
10
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
11
|
+
import { cookies } from "next/headers";
|
|
12
|
+
import { redirect } from "next/navigation";
|
|
11
13
|
import { NextResponse } from "next/server";
|
|
14
|
+
|
|
15
|
+
// src/auth/constants.ts
|
|
16
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
17
|
+
|
|
18
|
+
// src/auth/email/token.ts
|
|
12
19
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
13
20
|
if (refreshToken)
|
|
14
21
|
try {
|
|
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
29
36
|
var getContext = (keys, req) => {
|
|
30
37
|
const bearer = req.headers.get("authorization");
|
|
31
38
|
if (!bearer) {
|
|
32
|
-
const refresh = req.cookies.get(
|
|
39
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
33
40
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
41
|
if (userId) return { userId, isRefreshID: true };
|
|
35
42
|
return { userId: null };
|
package/dist/file/put.cjs.js
CHANGED
|
@@ -32,7 +32,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
32
32
|
// src/auth/email/token.ts
|
|
33
33
|
var import_bcryptjs = require("bcryptjs");
|
|
34
34
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
35
|
+
var import_headers = require("next/headers");
|
|
36
|
+
var import_navigation = require("next/navigation");
|
|
35
37
|
var import_server = require("next/server");
|
|
38
|
+
|
|
39
|
+
// src/auth/constants.ts
|
|
40
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
41
|
+
|
|
42
|
+
// src/auth/email/token.ts
|
|
36
43
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
37
44
|
if (refreshToken)
|
|
38
45
|
try {
|
|
@@ -53,7 +60,7 @@ var import_server2 = require("next/server");
|
|
|
53
60
|
var getContext = (keys, req) => {
|
|
54
61
|
const bearer = req.headers.get("authorization");
|
|
55
62
|
if (!bearer) {
|
|
56
|
-
const refresh = req.cookies.get(
|
|
63
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
57
64
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
58
65
|
if (userId) return { userId, isRefreshID: true };
|
|
59
66
|
return { userId: null };
|
package/dist/file/put.esm.js
CHANGED
|
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
8
8
|
// src/auth/email/token.ts
|
|
9
9
|
import { compare } from "bcryptjs";
|
|
10
10
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
11
|
+
import { cookies } from "next/headers";
|
|
12
|
+
import { redirect } from "next/navigation";
|
|
11
13
|
import { NextResponse } from "next/server";
|
|
14
|
+
|
|
15
|
+
// src/auth/constants.ts
|
|
16
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
17
|
+
|
|
18
|
+
// src/auth/email/token.ts
|
|
12
19
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
13
20
|
if (refreshToken)
|
|
14
21
|
try {
|
|
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
29
36
|
var getContext = (keys, req) => {
|
|
30
37
|
const bearer = req.headers.get("authorization");
|
|
31
38
|
if (!bearer) {
|
|
32
|
-
const refresh = req.cookies.get(
|
|
39
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
33
40
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
41
|
if (userId) return { userId, isRefreshID: true };
|
|
35
42
|
return { userId: null };
|
package/dist/file/setup.cjs.js
CHANGED
|
@@ -34,7 +34,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
34
34
|
// src/auth/email/token.ts
|
|
35
35
|
var import_bcryptjs = require("bcryptjs");
|
|
36
36
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
37
|
+
var import_headers = require("next/headers");
|
|
38
|
+
var import_navigation = require("next/navigation");
|
|
37
39
|
var import_server = require("next/server");
|
|
40
|
+
|
|
41
|
+
// src/auth/constants.ts
|
|
42
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
43
|
+
|
|
44
|
+
// src/auth/email/token.ts
|
|
38
45
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
39
46
|
if (refreshToken)
|
|
40
47
|
try {
|
|
@@ -55,7 +62,7 @@ var import_server2 = require("next/server");
|
|
|
55
62
|
var getContext = (keys, req) => {
|
|
56
63
|
const bearer = req.headers.get("authorization");
|
|
57
64
|
if (!bearer) {
|
|
58
|
-
const refresh = req.cookies.get(
|
|
65
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
59
66
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
60
67
|
if (userId) return { userId, isRefreshID: true };
|
|
61
68
|
return { userId: null };
|
package/dist/file/setup.esm.js
CHANGED
|
@@ -8,7 +8,14 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
8
8
|
// src/auth/email/token.ts
|
|
9
9
|
import { compare } from "bcryptjs";
|
|
10
10
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
11
|
+
import { cookies } from "next/headers";
|
|
12
|
+
import { redirect } from "next/navigation";
|
|
11
13
|
import { NextResponse } from "next/server";
|
|
14
|
+
|
|
15
|
+
// src/auth/constants.ts
|
|
16
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
17
|
+
|
|
18
|
+
// src/auth/email/token.ts
|
|
12
19
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
13
20
|
if (refreshToken)
|
|
14
21
|
try {
|
|
@@ -29,7 +36,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
29
36
|
var getContext = (keys, req) => {
|
|
30
37
|
const bearer = req.headers.get("authorization");
|
|
31
38
|
if (!bearer) {
|
|
32
|
-
const refresh = req.cookies.get(
|
|
39
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
33
40
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
41
|
if (userId) return { userId, isRefreshID: true };
|
|
35
42
|
return { userId: null };
|