naystack 1.4.2 → 1.4.4
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 +11 -4
- package/dist/auth/email/index.esm.js +11 -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 +29 -21
- package/dist/auth/index.esm.js +29 -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/dist/graphql/server.cjs.js +2 -2
- package/dist/graphql/server.esm.js +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/auth/constants.ts
|
|
21
|
+
var constants_exports = {};
|
|
22
|
+
__export(constants_exports, {
|
|
23
|
+
REFRESH_COOKIE_NAME: () => REFRESH_COOKIE_NAME
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(constants_exports);
|
|
26
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
REFRESH_COOKIE_NAME
|
|
30
|
+
});
|
|
@@ -30,7 +30,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
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");
|
|
36
|
+
|
|
37
|
+
// src/auth/constants.ts
|
|
38
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
39
|
+
|
|
40
|
+
// src/auth/email/token.ts
|
|
34
41
|
function generateAccessToken(id, signingKey) {
|
|
35
42
|
return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
|
|
36
43
|
expiresIn: "2h"
|
|
@@ -45,14 +52,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
45
52
|
status: 200
|
|
46
53
|
});
|
|
47
54
|
if (!accessToken) {
|
|
48
|
-
response.cookies.set(
|
|
55
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
49
56
|
secure: false,
|
|
50
57
|
httpOnly: true,
|
|
51
58
|
expires: 0
|
|
52
59
|
});
|
|
53
60
|
}
|
|
54
61
|
if (refreshToken !== void 0) {
|
|
55
|
-
response.cookies.set(
|
|
62
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
56
63
|
secure: false,
|
|
57
64
|
httpOnly: true,
|
|
58
65
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -133,7 +140,7 @@ async function verifyCaptcha(token, secret) {
|
|
|
133
140
|
var getContext = (keys, req) => {
|
|
134
141
|
const bearer = req.headers.get("authorization");
|
|
135
142
|
if (!bearer) {
|
|
136
|
-
const refresh = req.cookies.get(
|
|
143
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
137
144
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
138
145
|
if (userId) return { userId, isRefreshID: true };
|
|
139
146
|
return { userId: null };
|
|
@@ -163,7 +170,7 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
163
170
|
|
|
164
171
|
// src/auth/email/routes/get.ts
|
|
165
172
|
var getGetRoute = (options) => async (req) => {
|
|
166
|
-
const refresh = req.cookies.get(
|
|
173
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
167
174
|
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
168
175
|
if (userID) {
|
|
169
176
|
if (options.onRefresh) {
|
|
@@ -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)
|
|
@@ -107,7 +114,7 @@ async function verifyCaptcha(token, secret) {
|
|
|
107
114
|
var getContext = (keys, req) => {
|
|
108
115
|
const bearer = req.headers.get("authorization");
|
|
109
116
|
if (!bearer) {
|
|
110
|
-
const refresh = req.cookies.get(
|
|
117
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
111
118
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
112
119
|
if (userId) return { userId, isRefreshID: true };
|
|
113
120
|
return { userId: null };
|
|
@@ -137,7 +144,7 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
137
144
|
|
|
138
145
|
// src/auth/email/routes/get.ts
|
|
139
146
|
var getGetRoute = (options) => async (req) => {
|
|
140
|
-
const refresh = req.cookies.get(
|
|
147
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
141
148
|
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
142
149
|
if (userID) {
|
|
143
150
|
if (options.onRefresh) {
|
|
@@ -27,21 +27,28 @@ module.exports = __toCommonJS(delete_exports);
|
|
|
27
27
|
// src/auth/email/token.ts
|
|
28
28
|
var import_bcryptjs = require("bcryptjs");
|
|
29
29
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
30
|
+
var import_headers = require("next/headers");
|
|
31
|
+
var import_navigation = require("next/navigation");
|
|
30
32
|
var import_server = require("next/server");
|
|
33
|
+
|
|
34
|
+
// src/auth/constants.ts
|
|
35
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
36
|
+
|
|
37
|
+
// src/auth/email/token.ts
|
|
31
38
|
function getTokenizedResponse(accessToken, refreshToken) {
|
|
32
39
|
const body = { accessToken, refreshToken };
|
|
33
40
|
const response = import_server.NextResponse.json(body, {
|
|
34
41
|
status: 200
|
|
35
42
|
});
|
|
36
43
|
if (!accessToken) {
|
|
37
|
-
response.cookies.set(
|
|
44
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
38
45
|
secure: false,
|
|
39
46
|
httpOnly: true,
|
|
40
47
|
expires: 0
|
|
41
48
|
});
|
|
42
49
|
}
|
|
43
50
|
if (refreshToken !== void 0) {
|
|
44
|
-
response.cookies.set(
|
|
51
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
45
52
|
secure: false,
|
|
46
53
|
httpOnly: true,
|
|
47
54
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -72,7 +79,7 @@ var import_server2 = require("next/server");
|
|
|
72
79
|
var getContext = (keys, req) => {
|
|
73
80
|
const bearer = req.headers.get("authorization");
|
|
74
81
|
if (!bearer) {
|
|
75
|
-
const refresh = req.cookies.get(
|
|
82
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
76
83
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
77
84
|
if (userId) return { userId, isRefreshID: true };
|
|
78
85
|
return { userId: null };
|
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
// src/auth/email/token.ts
|
|
2
2
|
import { compare } from "bcryptjs";
|
|
3
3
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
4
|
+
import { cookies } from "next/headers";
|
|
5
|
+
import { redirect } from "next/navigation";
|
|
4
6
|
import { NextResponse } from "next/server";
|
|
7
|
+
|
|
8
|
+
// src/auth/constants.ts
|
|
9
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
10
|
+
|
|
11
|
+
// src/auth/email/token.ts
|
|
5
12
|
function getTokenizedResponse(accessToken, refreshToken) {
|
|
6
13
|
const body = { accessToken, refreshToken };
|
|
7
14
|
const response = NextResponse.json(body, {
|
|
8
15
|
status: 200
|
|
9
16
|
});
|
|
10
17
|
if (!accessToken) {
|
|
11
|
-
response.cookies.set(
|
|
18
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
12
19
|
secure: false,
|
|
13
20
|
httpOnly: true,
|
|
14
21
|
expires: 0
|
|
15
22
|
});
|
|
16
23
|
}
|
|
17
24
|
if (refreshToken !== void 0) {
|
|
18
|
-
response.cookies.set(
|
|
25
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
19
26
|
secure: false,
|
|
20
27
|
httpOnly: true,
|
|
21
28
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -46,7 +53,7 @@ import { NextResponse as NextResponse2 } from "next/server";
|
|
|
46
53
|
var getContext = (keys, req) => {
|
|
47
54
|
const bearer = req.headers.get("authorization");
|
|
48
55
|
if (!bearer) {
|
|
49
|
-
const refresh = req.cookies.get(
|
|
56
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
50
57
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
51
58
|
if (userId) return { userId, isRefreshID: true };
|
|
52
59
|
return { userId: null };
|
|
@@ -24,9 +24,14 @@ __export(get_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(get_exports);
|
|
26
26
|
|
|
27
|
+
// src/auth/constants.ts
|
|
28
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
29
|
+
|
|
27
30
|
// src/auth/email/token.ts
|
|
28
31
|
var import_bcryptjs = require("bcryptjs");
|
|
29
32
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
33
|
+
var import_headers = require("next/headers");
|
|
34
|
+
var import_navigation = require("next/navigation");
|
|
30
35
|
var import_server = require("next/server");
|
|
31
36
|
function generateAccessToken(id, signingKey) {
|
|
32
37
|
return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
|
|
@@ -39,14 +44,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
39
44
|
status: 200
|
|
40
45
|
});
|
|
41
46
|
if (!accessToken) {
|
|
42
|
-
response.cookies.set(
|
|
47
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
43
48
|
secure: false,
|
|
44
49
|
httpOnly: true,
|
|
45
50
|
expires: 0
|
|
46
51
|
});
|
|
47
52
|
}
|
|
48
53
|
if (refreshToken !== void 0) {
|
|
49
|
-
response.cookies.set(
|
|
54
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
50
55
|
secure: false,
|
|
51
56
|
httpOnly: true,
|
|
52
57
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -69,7 +74,7 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
69
74
|
|
|
70
75
|
// src/auth/email/routes/get.ts
|
|
71
76
|
var getGetRoute = (options) => async (req) => {
|
|
72
|
-
const refresh = req.cookies.get(
|
|
77
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
73
78
|
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
74
79
|
if (userID) {
|
|
75
80
|
if (options.onRefresh) {
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
// src/auth/constants.ts
|
|
2
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
3
|
+
|
|
1
4
|
// src/auth/email/token.ts
|
|
2
5
|
import { compare } from "bcryptjs";
|
|
3
6
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
7
|
+
import { cookies } from "next/headers";
|
|
8
|
+
import { redirect } from "next/navigation";
|
|
4
9
|
import { NextResponse } from "next/server";
|
|
5
10
|
function generateAccessToken(id, signingKey) {
|
|
6
11
|
return sign({ id }, signingKey, {
|
|
@@ -13,14 +18,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
13
18
|
status: 200
|
|
14
19
|
});
|
|
15
20
|
if (!accessToken) {
|
|
16
|
-
response.cookies.set(
|
|
21
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
17
22
|
secure: false,
|
|
18
23
|
httpOnly: true,
|
|
19
24
|
expires: 0
|
|
20
25
|
});
|
|
21
26
|
}
|
|
22
27
|
if (refreshToken !== void 0) {
|
|
23
|
-
response.cookies.set(
|
|
28
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
24
29
|
secure: false,
|
|
25
30
|
httpOnly: true,
|
|
26
31
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -43,7 +48,7 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
43
48
|
|
|
44
49
|
// src/auth/email/routes/get.ts
|
|
45
50
|
var getGetRoute = (options) => async (req) => {
|
|
46
|
-
const refresh = req.cookies.get(
|
|
51
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
47
52
|
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
48
53
|
if (userID) {
|
|
49
54
|
if (options.onRefresh) {
|
|
@@ -36,7 +36,14 @@ function handleError(status, message, onError) {
|
|
|
36
36
|
// src/auth/email/token.ts
|
|
37
37
|
var import_bcryptjs = require("bcryptjs");
|
|
38
38
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
39
|
+
var import_headers = require("next/headers");
|
|
40
|
+
var import_navigation = require("next/navigation");
|
|
39
41
|
var import_server2 = require("next/server");
|
|
42
|
+
|
|
43
|
+
// src/auth/constants.ts
|
|
44
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
45
|
+
|
|
46
|
+
// src/auth/email/token.ts
|
|
40
47
|
function generateAccessToken(id, signingKey) {
|
|
41
48
|
return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
|
|
42
49
|
expiresIn: "2h"
|
|
@@ -51,14 +58,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
51
58
|
status: 200
|
|
52
59
|
});
|
|
53
60
|
if (!accessToken) {
|
|
54
|
-
response.cookies.set(
|
|
61
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
55
62
|
secure: false,
|
|
56
63
|
httpOnly: true,
|
|
57
64
|
expires: 0
|
|
58
65
|
});
|
|
59
66
|
}
|
|
60
67
|
if (refreshToken !== void 0) {
|
|
61
|
-
response.cookies.set(
|
|
68
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
62
69
|
secure: false,
|
|
63
70
|
httpOnly: true,
|
|
64
71
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -12,7 +12,14 @@ function handleError(status, message, onError) {
|
|
|
12
12
|
// src/auth/email/token.ts
|
|
13
13
|
import { compare } from "bcryptjs";
|
|
14
14
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
15
|
+
import { cookies } from "next/headers";
|
|
16
|
+
import { redirect } from "next/navigation";
|
|
15
17
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
18
|
+
|
|
19
|
+
// src/auth/constants.ts
|
|
20
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
21
|
+
|
|
22
|
+
// src/auth/email/token.ts
|
|
16
23
|
function generateAccessToken(id, signingKey) {
|
|
17
24
|
return sign({ id }, signingKey, {
|
|
18
25
|
expiresIn: "2h"
|
|
@@ -27,14 +34,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
27
34
|
status: 200
|
|
28
35
|
});
|
|
29
36
|
if (!accessToken) {
|
|
30
|
-
response.cookies.set(
|
|
37
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
31
38
|
secure: false,
|
|
32
39
|
httpOnly: true,
|
|
33
40
|
expires: 0
|
|
34
41
|
});
|
|
35
42
|
}
|
|
36
43
|
if (refreshToken !== void 0) {
|
|
37
|
-
response.cookies.set(
|
|
44
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
38
45
|
secure: false,
|
|
39
46
|
httpOnly: true,
|
|
40
47
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -35,7 +35,14 @@ function handleError(status, message, onError) {
|
|
|
35
35
|
// src/auth/email/token.ts
|
|
36
36
|
var import_bcryptjs = require("bcryptjs");
|
|
37
37
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
38
|
+
var import_headers = require("next/headers");
|
|
39
|
+
var import_navigation = require("next/navigation");
|
|
38
40
|
var import_server2 = require("next/server");
|
|
41
|
+
|
|
42
|
+
// src/auth/constants.ts
|
|
43
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
44
|
+
|
|
45
|
+
// src/auth/email/token.ts
|
|
39
46
|
function generateAccessToken(id, signingKey) {
|
|
40
47
|
return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
|
|
41
48
|
expiresIn: "2h"
|
|
@@ -50,14 +57,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
50
57
|
status: 200
|
|
51
58
|
});
|
|
52
59
|
if (!accessToken) {
|
|
53
|
-
response.cookies.set(
|
|
60
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
54
61
|
secure: false,
|
|
55
62
|
httpOnly: true,
|
|
56
63
|
expires: 0
|
|
57
64
|
});
|
|
58
65
|
}
|
|
59
66
|
if (refreshToken !== void 0) {
|
|
60
|
-
response.cookies.set(
|
|
67
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
61
68
|
secure: false,
|
|
62
69
|
httpOnly: true,
|
|
63
70
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -9,7 +9,14 @@ function handleError(status, message, onError) {
|
|
|
9
9
|
// src/auth/email/token.ts
|
|
10
10
|
import { compare } from "bcryptjs";
|
|
11
11
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
12
|
+
import { cookies } from "next/headers";
|
|
13
|
+
import { redirect } from "next/navigation";
|
|
12
14
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
15
|
+
|
|
16
|
+
// src/auth/constants.ts
|
|
17
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
18
|
+
|
|
19
|
+
// src/auth/email/token.ts
|
|
13
20
|
function generateAccessToken(id, signingKey) {
|
|
14
21
|
return sign({ id }, signingKey, {
|
|
15
22
|
expiresIn: "2h"
|
|
@@ -24,14 +31,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
24
31
|
status: 200
|
|
25
32
|
});
|
|
26
33
|
if (!accessToken) {
|
|
27
|
-
response.cookies.set(
|
|
34
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
28
35
|
secure: false,
|
|
29
36
|
httpOnly: true,
|
|
30
37
|
expires: 0
|
|
31
38
|
});
|
|
32
39
|
}
|
|
33
40
|
if (refreshToken !== void 0) {
|
|
34
|
-
response.cookies.set(
|
|
41
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
35
42
|
secure: false,
|
|
36
43
|
httpOnly: true,
|
|
37
44
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/auth/email/token.ts
|
|
21
21
|
var token_exports = {};
|
|
22
22
|
__export(token_exports, {
|
|
23
|
+
checkAuthStatus: () => checkAuthStatus,
|
|
23
24
|
generateAccessToken: () => generateAccessToken,
|
|
24
25
|
generateRefreshToken: () => generateRefreshToken,
|
|
25
26
|
getTokenizedResponse: () => getTokenizedResponse,
|
|
@@ -30,7 +31,14 @@ __export(token_exports, {
|
|
|
30
31
|
module.exports = __toCommonJS(token_exports);
|
|
31
32
|
var import_bcryptjs = require("bcryptjs");
|
|
32
33
|
var import_jsonwebtoken = require("jsonwebtoken");
|
|
34
|
+
var import_headers = require("next/headers");
|
|
35
|
+
var import_navigation = require("next/navigation");
|
|
33
36
|
var import_server = require("next/server");
|
|
37
|
+
|
|
38
|
+
// src/auth/constants.ts
|
|
39
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
40
|
+
|
|
41
|
+
// src/auth/email/token.ts
|
|
34
42
|
function generateAccessToken(id, signingKey) {
|
|
35
43
|
return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
|
|
36
44
|
expiresIn: "2h"
|
|
@@ -45,14 +53,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
45
53
|
status: 200
|
|
46
54
|
});
|
|
47
55
|
if (!accessToken) {
|
|
48
|
-
response.cookies.set(
|
|
56
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
49
57
|
secure: false,
|
|
50
58
|
httpOnly: true,
|
|
51
59
|
expires: 0
|
|
52
60
|
});
|
|
53
61
|
}
|
|
54
62
|
if (refreshToken !== void 0) {
|
|
55
|
-
response.cookies.set(
|
|
63
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
56
64
|
secure: false,
|
|
57
65
|
httpOnly: true,
|
|
58
66
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -88,8 +96,16 @@ function verifyUser(user, password) {
|
|
|
88
96
|
if (!user.password) return false;
|
|
89
97
|
return (0, import_bcryptjs.compare)(password, user.password);
|
|
90
98
|
}
|
|
99
|
+
async function checkAuthStatus(redirectUnauthorizedURL) {
|
|
100
|
+
const Cookie = await (0, import_headers.cookies)();
|
|
101
|
+
const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
|
|
102
|
+
if (!isAuthorized && redirectUnauthorizedURL)
|
|
103
|
+
return (0, import_navigation.redirect)(redirectUnauthorizedURL);
|
|
104
|
+
return isAuthorized;
|
|
105
|
+
}
|
|
91
106
|
// Annotate the CommonJS export names for ESM import in node:
|
|
92
107
|
0 && (module.exports = {
|
|
108
|
+
checkAuthStatus,
|
|
93
109
|
generateAccessToken,
|
|
94
110
|
generateRefreshToken,
|
|
95
111
|
getTokenizedResponse,
|
|
@@ -10,5 +10,6 @@ declare function getTokenizedResponse(accessToken?: string, refreshToken?: strin
|
|
|
10
10
|
declare function getUserIdFromRefreshToken(refreshKey: string, refreshToken?: string): number | null;
|
|
11
11
|
declare function getUserIdFromAccessToken(refreshToken?: string): number | null;
|
|
12
12
|
declare function verifyUser(user: UserOutput, password: string): false | Promise<boolean>;
|
|
13
|
+
declare function checkAuthStatus(redirectUnauthorizedURL?: string): Promise<boolean>;
|
|
13
14
|
|
|
14
|
-
export { generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
|
|
15
|
+
export { checkAuthStatus, generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
|
|
@@ -10,5 +10,6 @@ declare function getTokenizedResponse(accessToken?: string, refreshToken?: strin
|
|
|
10
10
|
declare function getUserIdFromRefreshToken(refreshKey: string, refreshToken?: string): number | null;
|
|
11
11
|
declare function getUserIdFromAccessToken(refreshToken?: string): number | null;
|
|
12
12
|
declare function verifyUser(user: UserOutput, password: string): false | Promise<boolean>;
|
|
13
|
+
declare function checkAuthStatus(redirectUnauthorizedURL?: string): Promise<boolean>;
|
|
13
14
|
|
|
14
|
-
export { generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
|
|
15
|
+
export { checkAuthStatus, generateAccessToken, generateRefreshToken, getTokenizedResponse, getUserIdFromAccessToken, getUserIdFromRefreshToken, verifyUser };
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
// src/auth/email/token.ts
|
|
2
2
|
import { compare } from "bcryptjs";
|
|
3
3
|
import { JsonWebTokenError, sign, verify } from "jsonwebtoken";
|
|
4
|
+
import { cookies } from "next/headers";
|
|
5
|
+
import { redirect } from "next/navigation";
|
|
4
6
|
import { NextResponse } from "next/server";
|
|
7
|
+
|
|
8
|
+
// src/auth/constants.ts
|
|
9
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
10
|
+
|
|
11
|
+
// src/auth/email/token.ts
|
|
5
12
|
function generateAccessToken(id, signingKey) {
|
|
6
13
|
return sign({ id }, signingKey, {
|
|
7
14
|
expiresIn: "2h"
|
|
@@ -16,14 +23,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
16
23
|
status: 200
|
|
17
24
|
});
|
|
18
25
|
if (!accessToken) {
|
|
19
|
-
response.cookies.set(
|
|
26
|
+
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
20
27
|
secure: false,
|
|
21
28
|
httpOnly: true,
|
|
22
29
|
expires: 0
|
|
23
30
|
});
|
|
24
31
|
}
|
|
25
32
|
if (refreshToken !== void 0) {
|
|
26
|
-
response.cookies.set(
|
|
33
|
+
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
27
34
|
secure: false,
|
|
28
35
|
httpOnly: true,
|
|
29
36
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
@@ -59,7 +66,15 @@ function verifyUser(user, password) {
|
|
|
59
66
|
if (!user.password) return false;
|
|
60
67
|
return compare(password, user.password);
|
|
61
68
|
}
|
|
69
|
+
async function checkAuthStatus(redirectUnauthorizedURL) {
|
|
70
|
+
const Cookie = await cookies();
|
|
71
|
+
const isAuthorized = !!Cookie.get(REFRESH_COOKIE_NAME)?.value;
|
|
72
|
+
if (!isAuthorized && redirectUnauthorizedURL)
|
|
73
|
+
return redirect(redirectUnauthorizedURL);
|
|
74
|
+
return isAuthorized;
|
|
75
|
+
}
|
|
62
76
|
export {
|
|
77
|
+
checkAuthStatus,
|
|
63
78
|
generateAccessToken,
|
|
64
79
|
generateRefreshToken,
|
|
65
80
|
getTokenizedResponse,
|
|
@@ -30,7 +30,14 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
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");
|
|
36
|
+
|
|
37
|
+
// src/auth/constants.ts
|
|
38
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
39
|
+
|
|
40
|
+
// src/auth/email/token.ts
|
|
34
41
|
function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
35
42
|
if (refreshToken)
|
|
36
43
|
try {
|
|
@@ -100,7 +107,7 @@ async function verifyCaptcha(token, secret) {
|
|
|
100
107
|
var getContext = (keys, req) => {
|
|
101
108
|
const bearer = req.headers.get("authorization");
|
|
102
109
|
if (!bearer) {
|
|
103
|
-
const refresh = req.cookies.get(
|
|
110
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
104
111
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
105
112
|
if (userId) return { userId, isRefreshID: true };
|
|
106
113
|
return { userId: null };
|
|
@@ -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 getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
9
16
|
if (refreshToken)
|
|
10
17
|
try {
|
|
@@ -74,7 +81,7 @@ async function verifyCaptcha(token, secret) {
|
|
|
74
81
|
var getContext = (keys, req) => {
|
|
75
82
|
const bearer = req.headers.get("authorization");
|
|
76
83
|
if (!bearer) {
|
|
77
|
-
const refresh = req.cookies.get(
|
|
84
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value;
|
|
78
85
|
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
79
86
|
if (userId) return { userId, isRefreshID: true };
|
|
80
87
|
return { userId: null };
|