naystack 1.2.21 → 1.2.23
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/index.cjs.js +13 -13
- package/dist/auth/email/index.esm.js +13 -13
- package/dist/auth/email/routes/delete.cjs.js +4 -4
- package/dist/auth/email/routes/delete.esm.js +4 -4
- package/dist/auth/email/routes/get.cjs.js +2 -2
- package/dist/auth/email/routes/get.esm.js +2 -2
- package/dist/auth/email/routes/post.cjs.js +4 -4
- package/dist/auth/email/routes/post.esm.js +4 -4
- package/dist/auth/email/routes/put.cjs.js +2 -2
- package/dist/auth/email/routes/put.esm.js +2 -2
- package/dist/auth/email/types.d.mts +6 -3
- package/dist/auth/email/types.d.ts +6 -3
- package/dist/auth/email/utils.cjs.js +3 -3
- 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 +3 -3
- package/dist/auth/index.cjs.js +13 -13
- package/dist/auth/index.esm.js +13 -13
- package/dist/file/index.cjs.js +4 -4
- package/dist/file/index.d.mts +2 -0
- package/dist/file/index.d.ts +2 -0
- package/dist/file/index.esm.js +4 -4
- package/dist/file/put.cjs.js +4 -4
- package/dist/file/put.d.mts +2 -0
- package/dist/file/put.d.ts +2 -0
- package/dist/file/put.esm.js +4 -4
- package/dist/file/setup.cjs.js +4 -4
- package/dist/file/setup.d.mts +3 -2
- package/dist/file/setup.d.ts +3 -2
- package/dist/file/setup.esm.js +4 -4
- package/dist/file/utils.d.mts +2 -0
- package/dist/file/utils.d.ts +2 -0
- package/dist/graphql/client.cjs.js +2 -4
- package/dist/graphql/client.d.mts +1 -1
- package/dist/graphql/client.d.ts +1 -1
- package/dist/graphql/client.esm.js +2 -4
- package/package.json +1 -1
|
@@ -128,17 +128,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
128
128
|
}
|
|
129
129
|
return false;
|
|
130
130
|
}
|
|
131
|
-
var getContext = (
|
|
131
|
+
var getContext = (keys, req) => {
|
|
132
132
|
const bearer = req.headers.get("authorization");
|
|
133
133
|
if (!bearer) {
|
|
134
134
|
const refresh = req.cookies.get("refresh")?.value;
|
|
135
|
-
const userId = getUserIdFromRefreshToken(
|
|
135
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
136
136
|
if (userId) return { userId, isRefreshID: true };
|
|
137
137
|
return { userId: null };
|
|
138
138
|
}
|
|
139
139
|
const token = bearer.slice(7);
|
|
140
140
|
try {
|
|
141
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
141
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
142
142
|
if (typeof res === "string") {
|
|
143
143
|
return { userId: null };
|
|
144
144
|
}
|
|
@@ -153,7 +153,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
153
153
|
// src/auth/email/routes/delete.ts
|
|
154
154
|
var getDeleteRoute = (options) => async (req) => {
|
|
155
155
|
if (options.onLogout) {
|
|
156
|
-
const ctx = await getContext(options.
|
|
156
|
+
const ctx = await getContext(options.keys, req);
|
|
157
157
|
await options.onLogout?.(ctx.userId, req);
|
|
158
158
|
}
|
|
159
159
|
return getTokenizedResponse(void 0, "");
|
|
@@ -162,13 +162,13 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
162
162
|
// src/auth/email/routes/get.ts
|
|
163
163
|
var getGetRoute = (options) => async (req) => {
|
|
164
164
|
const refresh = req.cookies.get("refresh")?.value;
|
|
165
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
165
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
166
166
|
if (userID) {
|
|
167
167
|
if (options.onRefresh) {
|
|
168
168
|
await options.onRefresh?.(userID, req);
|
|
169
169
|
}
|
|
170
170
|
return getTokenizedResponse(
|
|
171
|
-
generateAccessToken(userID, options.
|
|
171
|
+
generateAccessToken(userID, options.keys.signing)
|
|
172
172
|
);
|
|
173
173
|
}
|
|
174
174
|
return getTokenizedResponse();
|
|
@@ -183,8 +183,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
183
183
|
if (existingUser) {
|
|
184
184
|
if (await verifyUser(existingUser, data.password)) {
|
|
185
185
|
return getTokenizedResponse(
|
|
186
|
-
generateAccessToken(existingUser.id, options.
|
|
187
|
-
generateRefreshToken(existingUser.id, options.
|
|
186
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
187
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
188
188
|
);
|
|
189
189
|
}
|
|
190
190
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -199,8 +199,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
199
199
|
await options.onSignUp?.(newUser.id, req);
|
|
200
200
|
}
|
|
201
201
|
return getTokenizedResponse(
|
|
202
|
-
generateAccessToken(newUser.id, options.
|
|
203
|
-
generateRefreshToken(newUser.id, options.
|
|
202
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
203
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
204
204
|
);
|
|
205
205
|
}
|
|
206
206
|
return getTokenizedResponse();
|
|
@@ -218,8 +218,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
218
218
|
await options.onLogin?.(user.id, req);
|
|
219
219
|
}
|
|
220
220
|
return getTokenizedResponse(
|
|
221
|
-
generateAccessToken(user.id, options.
|
|
222
|
-
generateRefreshToken(user.id, options.
|
|
221
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
222
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
223
223
|
);
|
|
224
224
|
}
|
|
225
225
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -232,7 +232,7 @@ function getEmailAuthRoutes(options) {
|
|
|
232
232
|
POST: getPostRoute(options),
|
|
233
233
|
PUT: getPutRoute(options),
|
|
234
234
|
DELETE: getDeleteRoute(options),
|
|
235
|
-
getContext: (req) => getContext(options.
|
|
235
|
+
getContext: (req) => getContext(options.keys, req)
|
|
236
236
|
};
|
|
237
237
|
}
|
|
238
238
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -102,17 +102,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
102
102
|
}
|
|
103
103
|
return false;
|
|
104
104
|
}
|
|
105
|
-
var getContext = (
|
|
105
|
+
var getContext = (keys, req) => {
|
|
106
106
|
const bearer = req.headers.get("authorization");
|
|
107
107
|
if (!bearer) {
|
|
108
108
|
const refresh = req.cookies.get("refresh")?.value;
|
|
109
|
-
const userId = getUserIdFromRefreshToken(
|
|
109
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
110
110
|
if (userId) return { userId, isRefreshID: true };
|
|
111
111
|
return { userId: null };
|
|
112
112
|
}
|
|
113
113
|
const token = bearer.slice(7);
|
|
114
114
|
try {
|
|
115
|
-
const res = verify2(token,
|
|
115
|
+
const res = verify2(token, keys.signing);
|
|
116
116
|
if (typeof res === "string") {
|
|
117
117
|
return { userId: null };
|
|
118
118
|
}
|
|
@@ -127,7 +127,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
127
127
|
// src/auth/email/routes/delete.ts
|
|
128
128
|
var getDeleteRoute = (options) => async (req) => {
|
|
129
129
|
if (options.onLogout) {
|
|
130
|
-
const ctx = await getContext(options.
|
|
130
|
+
const ctx = await getContext(options.keys, req);
|
|
131
131
|
await options.onLogout?.(ctx.userId, req);
|
|
132
132
|
}
|
|
133
133
|
return getTokenizedResponse(void 0, "");
|
|
@@ -136,13 +136,13 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
136
136
|
// src/auth/email/routes/get.ts
|
|
137
137
|
var getGetRoute = (options) => async (req) => {
|
|
138
138
|
const refresh = req.cookies.get("refresh")?.value;
|
|
139
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
139
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
140
140
|
if (userID) {
|
|
141
141
|
if (options.onRefresh) {
|
|
142
142
|
await options.onRefresh?.(userID, req);
|
|
143
143
|
}
|
|
144
144
|
return getTokenizedResponse(
|
|
145
|
-
generateAccessToken(userID, options.
|
|
145
|
+
generateAccessToken(userID, options.keys.signing)
|
|
146
146
|
);
|
|
147
147
|
}
|
|
148
148
|
return getTokenizedResponse();
|
|
@@ -157,8 +157,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
157
157
|
if (existingUser) {
|
|
158
158
|
if (await verifyUser(existingUser, data.password)) {
|
|
159
159
|
return getTokenizedResponse(
|
|
160
|
-
generateAccessToken(existingUser.id, options.
|
|
161
|
-
generateRefreshToken(existingUser.id, options.
|
|
160
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
161
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
162
162
|
);
|
|
163
163
|
}
|
|
164
164
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -173,8 +173,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
173
173
|
await options.onSignUp?.(newUser.id, req);
|
|
174
174
|
}
|
|
175
175
|
return getTokenizedResponse(
|
|
176
|
-
generateAccessToken(newUser.id, options.
|
|
177
|
-
generateRefreshToken(newUser.id, options.
|
|
176
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
177
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
178
178
|
);
|
|
179
179
|
}
|
|
180
180
|
return getTokenizedResponse();
|
|
@@ -192,8 +192,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
192
192
|
await options.onLogin?.(user.id, req);
|
|
193
193
|
}
|
|
194
194
|
return getTokenizedResponse(
|
|
195
|
-
generateAccessToken(user.id, options.
|
|
196
|
-
generateRefreshToken(user.id, options.
|
|
195
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
196
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
197
197
|
);
|
|
198
198
|
}
|
|
199
199
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -206,7 +206,7 @@ function getEmailAuthRoutes(options) {
|
|
|
206
206
|
POST: getPostRoute(options),
|
|
207
207
|
PUT: getPutRoute(options),
|
|
208
208
|
DELETE: getDeleteRoute(options),
|
|
209
|
-
getContext: (req) => getContext(options.
|
|
209
|
+
getContext: (req) => getContext(options.keys, req)
|
|
210
210
|
};
|
|
211
211
|
}
|
|
212
212
|
export {
|
|
@@ -69,17 +69,17 @@ var import_jsonwebtoken2 = require("jsonwebtoken");
|
|
|
69
69
|
var import_server2 = require("next/server");
|
|
70
70
|
|
|
71
71
|
// src/auth/email/utils.ts
|
|
72
|
-
var getContext = (
|
|
72
|
+
var getContext = (keys, req) => {
|
|
73
73
|
const bearer = req.headers.get("authorization");
|
|
74
74
|
if (!bearer) {
|
|
75
75
|
const refresh = req.cookies.get("refresh")?.value;
|
|
76
|
-
const userId = getUserIdFromRefreshToken(
|
|
76
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
77
77
|
if (userId) return { userId, isRefreshID: true };
|
|
78
78
|
return { userId: null };
|
|
79
79
|
}
|
|
80
80
|
const token = bearer.slice(7);
|
|
81
81
|
try {
|
|
82
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
82
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
83
83
|
if (typeof res === "string") {
|
|
84
84
|
return { userId: null };
|
|
85
85
|
}
|
|
@@ -94,7 +94,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
94
94
|
// src/auth/email/routes/delete.ts
|
|
95
95
|
var getDeleteRoute = (options) => async (req) => {
|
|
96
96
|
if (options.onLogout) {
|
|
97
|
-
const ctx = await getContext(options.
|
|
97
|
+
const ctx = await getContext(options.keys, req);
|
|
98
98
|
await options.onLogout?.(ctx.userId, req);
|
|
99
99
|
}
|
|
100
100
|
return getTokenizedResponse(void 0, "");
|
|
@@ -43,17 +43,17 @@ import { verify as verify2 } from "jsonwebtoken";
|
|
|
43
43
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
44
44
|
|
|
45
45
|
// src/auth/email/utils.ts
|
|
46
|
-
var getContext = (
|
|
46
|
+
var getContext = (keys, req) => {
|
|
47
47
|
const bearer = req.headers.get("authorization");
|
|
48
48
|
if (!bearer) {
|
|
49
49
|
const refresh = req.cookies.get("refresh")?.value;
|
|
50
|
-
const userId = getUserIdFromRefreshToken(
|
|
50
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
51
51
|
if (userId) return { userId, isRefreshID: true };
|
|
52
52
|
return { userId: null };
|
|
53
53
|
}
|
|
54
54
|
const token = bearer.slice(7);
|
|
55
55
|
try {
|
|
56
|
-
const res = verify2(token,
|
|
56
|
+
const res = verify2(token, keys.signing);
|
|
57
57
|
if (typeof res === "string") {
|
|
58
58
|
return { userId: null };
|
|
59
59
|
}
|
|
@@ -68,7 +68,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
68
68
|
// src/auth/email/routes/delete.ts
|
|
69
69
|
var getDeleteRoute = (options) => async (req) => {
|
|
70
70
|
if (options.onLogout) {
|
|
71
|
-
const ctx = await getContext(options.
|
|
71
|
+
const ctx = await getContext(options.keys, req);
|
|
72
72
|
await options.onLogout?.(ctx.userId, req);
|
|
73
73
|
}
|
|
74
74
|
return getTokenizedResponse(void 0, "");
|
|
@@ -70,13 +70,13 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
70
70
|
// src/auth/email/routes/get.ts
|
|
71
71
|
var getGetRoute = (options) => async (req) => {
|
|
72
72
|
const refresh = req.cookies.get("refresh")?.value;
|
|
73
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
73
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
74
74
|
if (userID) {
|
|
75
75
|
if (options.onRefresh) {
|
|
76
76
|
await options.onRefresh?.(userID, req);
|
|
77
77
|
}
|
|
78
78
|
return getTokenizedResponse(
|
|
79
|
-
generateAccessToken(userID, options.
|
|
79
|
+
generateAccessToken(userID, options.keys.signing)
|
|
80
80
|
);
|
|
81
81
|
}
|
|
82
82
|
return getTokenizedResponse();
|
|
@@ -44,13 +44,13 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
44
44
|
// src/auth/email/routes/get.ts
|
|
45
45
|
var getGetRoute = (options) => async (req) => {
|
|
46
46
|
const refresh = req.cookies.get("refresh")?.value;
|
|
47
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
47
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
48
48
|
if (userID) {
|
|
49
49
|
if (options.onRefresh) {
|
|
50
50
|
await options.onRefresh?.(userID, req);
|
|
51
51
|
}
|
|
52
52
|
return getTokenizedResponse(
|
|
53
|
-
generateAccessToken(userID, options.
|
|
53
|
+
generateAccessToken(userID, options.keys.signing)
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
56
|
return getTokenizedResponse();
|
|
@@ -124,8 +124,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
124
124
|
if (existingUser) {
|
|
125
125
|
if (await verifyUser(existingUser, data.password)) {
|
|
126
126
|
return getTokenizedResponse(
|
|
127
|
-
generateAccessToken(existingUser.id, options.
|
|
128
|
-
generateRefreshToken(existingUser.id, options.
|
|
127
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
128
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
129
129
|
);
|
|
130
130
|
}
|
|
131
131
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -140,8 +140,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
140
140
|
await options.onSignUp?.(newUser.id, req);
|
|
141
141
|
}
|
|
142
142
|
return getTokenizedResponse(
|
|
143
|
-
generateAccessToken(newUser.id, options.
|
|
144
|
-
generateRefreshToken(newUser.id, options.
|
|
143
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
144
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
145
145
|
);
|
|
146
146
|
}
|
|
147
147
|
return getTokenizedResponse();
|
|
@@ -100,8 +100,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
100
100
|
if (existingUser) {
|
|
101
101
|
if (await verifyUser(existingUser, data.password)) {
|
|
102
102
|
return getTokenizedResponse(
|
|
103
|
-
generateAccessToken(existingUser.id, options.
|
|
104
|
-
generateRefreshToken(existingUser.id, options.
|
|
103
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
104
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
105
105
|
);
|
|
106
106
|
}
|
|
107
107
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -116,8 +116,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
116
116
|
await options.onSignUp?.(newUser.id, req);
|
|
117
117
|
}
|
|
118
118
|
return getTokenizedResponse(
|
|
119
|
-
generateAccessToken(newUser.id, options.
|
|
120
|
-
generateRefreshToken(newUser.id, options.
|
|
119
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
120
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
121
121
|
);
|
|
122
122
|
}
|
|
123
123
|
return getTokenizedResponse();
|
|
@@ -127,8 +127,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
127
127
|
await options.onLogin?.(user.id, req);
|
|
128
128
|
}
|
|
129
129
|
return getTokenizedResponse(
|
|
130
|
-
generateAccessToken(user.id, options.
|
|
131
|
-
generateRefreshToken(user.id, options.
|
|
130
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
131
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
132
132
|
);
|
|
133
133
|
}
|
|
134
134
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -101,8 +101,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
101
101
|
await options.onLogin?.(user.id, req);
|
|
102
102
|
}
|
|
103
103
|
return getTokenizedResponse(
|
|
104
|
-
generateAccessToken(user.id, options.
|
|
105
|
-
generateRefreshToken(user.id, options.
|
|
104
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
105
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
106
106
|
);
|
|
107
107
|
}
|
|
108
108
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -5,13 +5,16 @@ type InitRoutesOptions = {
|
|
|
5
5
|
getUser: (email: string) => Promise<UserOutput | undefined>;
|
|
6
6
|
createUser: (user: UserInput) => Promise<UserOutput | undefined>;
|
|
7
7
|
onError?: ErrorHandler;
|
|
8
|
-
|
|
9
|
-
refreshKey: string;
|
|
8
|
+
keys: AuthKeys;
|
|
10
9
|
turnstileKey?: string;
|
|
11
10
|
onSignUp?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
12
11
|
onLogin?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
13
12
|
onRefresh?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
14
13
|
onLogout?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
15
14
|
};
|
|
15
|
+
interface AuthKeys {
|
|
16
|
+
signing: string;
|
|
17
|
+
refresh: string;
|
|
18
|
+
}
|
|
16
19
|
|
|
17
|
-
export type { InitRoutesOptions };
|
|
20
|
+
export type { AuthKeys, InitRoutesOptions };
|
|
@@ -5,13 +5,16 @@ type InitRoutesOptions = {
|
|
|
5
5
|
getUser: (email: string) => Promise<UserOutput | undefined>;
|
|
6
6
|
createUser: (user: UserInput) => Promise<UserOutput | undefined>;
|
|
7
7
|
onError?: ErrorHandler;
|
|
8
|
-
|
|
9
|
-
refreshKey: string;
|
|
8
|
+
keys: AuthKeys;
|
|
10
9
|
turnstileKey?: string;
|
|
11
10
|
onSignUp?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
12
11
|
onLogin?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
13
12
|
onRefresh?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
14
13
|
onLogout?: (userId: number | null, req: NextRequest) => Promise<void>;
|
|
15
14
|
};
|
|
15
|
+
interface AuthKeys {
|
|
16
|
+
signing: string;
|
|
17
|
+
refresh: string;
|
|
18
|
+
}
|
|
16
19
|
|
|
17
|
-
export type { InitRoutesOptions };
|
|
20
|
+
export type { AuthKeys, InitRoutesOptions };
|
|
@@ -95,17 +95,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
95
95
|
}
|
|
96
96
|
return false;
|
|
97
97
|
}
|
|
98
|
-
var getContext = (
|
|
98
|
+
var getContext = (keys, req) => {
|
|
99
99
|
const bearer = req.headers.get("authorization");
|
|
100
100
|
if (!bearer) {
|
|
101
101
|
const refresh = req.cookies.get("refresh")?.value;
|
|
102
|
-
const userId = getUserIdFromRefreshToken(
|
|
102
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
103
103
|
if (userId) return { userId, isRefreshID: true };
|
|
104
104
|
return { userId: null };
|
|
105
105
|
}
|
|
106
106
|
const token = bearer.slice(7);
|
|
107
107
|
try {
|
|
108
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
108
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
109
109
|
if (typeof res === "string") {
|
|
110
110
|
return { userId: null };
|
|
111
111
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { Context } from '../../graphql/types.mjs';
|
|
3
|
-
import { InitRoutesOptions } from './types.mjs';
|
|
3
|
+
import { InitRoutesOptions, AuthKeys } from './types.mjs';
|
|
4
4
|
import '../types.mjs';
|
|
5
5
|
|
|
6
6
|
declare function massageRequest(req: NextRequest, options: InitRoutesOptions): Promise<{
|
|
@@ -13,6 +13,6 @@ declare function massageRequest(req: NextRequest, options: InitRoutesOptions): P
|
|
|
13
13
|
};
|
|
14
14
|
}>;
|
|
15
15
|
declare function verifyCaptcha(token: string, secret?: string): Promise<boolean>;
|
|
16
|
-
declare const getContext: (
|
|
16
|
+
declare const getContext: (keys: AuthKeys, req: NextRequest) => Context;
|
|
17
17
|
|
|
18
18
|
export { getContext, massageRequest, verifyCaptcha };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { Context } from '../../graphql/types.js';
|
|
3
|
-
import { InitRoutesOptions } from './types.js';
|
|
3
|
+
import { InitRoutesOptions, AuthKeys } from './types.js';
|
|
4
4
|
import '../types.js';
|
|
5
5
|
|
|
6
6
|
declare function massageRequest(req: NextRequest, options: InitRoutesOptions): Promise<{
|
|
@@ -13,6 +13,6 @@ declare function massageRequest(req: NextRequest, options: InitRoutesOptions): P
|
|
|
13
13
|
};
|
|
14
14
|
}>;
|
|
15
15
|
declare function verifyCaptcha(token: string, secret?: string): Promise<boolean>;
|
|
16
|
-
declare const getContext: (
|
|
16
|
+
declare const getContext: (keys: AuthKeys, req: NextRequest) => Context;
|
|
17
17
|
|
|
18
18
|
export { getContext, massageRequest, verifyCaptcha };
|
|
@@ -69,17 +69,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
69
69
|
}
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
|
-
var getContext = (
|
|
72
|
+
var getContext = (keys, req) => {
|
|
73
73
|
const bearer = req.headers.get("authorization");
|
|
74
74
|
if (!bearer) {
|
|
75
75
|
const refresh = req.cookies.get("refresh")?.value;
|
|
76
|
-
const userId = getUserIdFromRefreshToken(
|
|
76
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
77
77
|
if (userId) return { userId, isRefreshID: true };
|
|
78
78
|
return { userId: null };
|
|
79
79
|
}
|
|
80
80
|
const token = bearer.slice(7);
|
|
81
81
|
try {
|
|
82
|
-
const res = verify2(token,
|
|
82
|
+
const res = verify2(token, keys.signing);
|
|
83
83
|
if (typeof res === "string") {
|
|
84
84
|
return { userId: null };
|
|
85
85
|
}
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -142,17 +142,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
142
142
|
}
|
|
143
143
|
return false;
|
|
144
144
|
}
|
|
145
|
-
var getContext = (
|
|
145
|
+
var getContext = (keys, req) => {
|
|
146
146
|
const bearer = req.headers.get("authorization");
|
|
147
147
|
if (!bearer) {
|
|
148
148
|
const refresh = req.cookies.get("refresh")?.value;
|
|
149
|
-
const userId = getUserIdFromRefreshToken(
|
|
149
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
150
150
|
if (userId) return { userId, isRefreshID: true };
|
|
151
151
|
return { userId: null };
|
|
152
152
|
}
|
|
153
153
|
const token = bearer.slice(7);
|
|
154
154
|
try {
|
|
155
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
155
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
156
156
|
if (typeof res === "string") {
|
|
157
157
|
return { userId: null };
|
|
158
158
|
}
|
|
@@ -167,7 +167,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
167
167
|
// src/auth/email/routes/delete.ts
|
|
168
168
|
var getDeleteRoute = (options) => async (req) => {
|
|
169
169
|
if (options.onLogout) {
|
|
170
|
-
const ctx = await getContext(options.
|
|
170
|
+
const ctx = await getContext(options.keys, req);
|
|
171
171
|
await options.onLogout?.(ctx.userId, req);
|
|
172
172
|
}
|
|
173
173
|
return getTokenizedResponse(void 0, "");
|
|
@@ -176,13 +176,13 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
176
176
|
// src/auth/email/routes/get.ts
|
|
177
177
|
var getGetRoute = (options) => async (req) => {
|
|
178
178
|
const refresh = req.cookies.get("refresh")?.value;
|
|
179
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
179
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
180
180
|
if (userID) {
|
|
181
181
|
if (options.onRefresh) {
|
|
182
182
|
await options.onRefresh?.(userID, req);
|
|
183
183
|
}
|
|
184
184
|
return getTokenizedResponse(
|
|
185
|
-
generateAccessToken(userID, options.
|
|
185
|
+
generateAccessToken(userID, options.keys.signing)
|
|
186
186
|
);
|
|
187
187
|
}
|
|
188
188
|
return getTokenizedResponse();
|
|
@@ -197,8 +197,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
197
197
|
if (existingUser) {
|
|
198
198
|
if (await verifyUser(existingUser, data.password)) {
|
|
199
199
|
return getTokenizedResponse(
|
|
200
|
-
generateAccessToken(existingUser.id, options.
|
|
201
|
-
generateRefreshToken(existingUser.id, options.
|
|
200
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
201
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
202
202
|
);
|
|
203
203
|
}
|
|
204
204
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -213,8 +213,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
213
213
|
await options.onSignUp?.(newUser.id, req);
|
|
214
214
|
}
|
|
215
215
|
return getTokenizedResponse(
|
|
216
|
-
generateAccessToken(newUser.id, options.
|
|
217
|
-
generateRefreshToken(newUser.id, options.
|
|
216
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
217
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
218
218
|
);
|
|
219
219
|
}
|
|
220
220
|
return getTokenizedResponse();
|
|
@@ -232,8 +232,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
232
232
|
await options.onLogin?.(user.id, req);
|
|
233
233
|
}
|
|
234
234
|
return getTokenizedResponse(
|
|
235
|
-
generateAccessToken(user.id, options.
|
|
236
|
-
generateRefreshToken(user.id, options.
|
|
235
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
236
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
237
237
|
);
|
|
238
238
|
}
|
|
239
239
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -246,7 +246,7 @@ function getEmailAuthRoutes(options) {
|
|
|
246
246
|
POST: getPostRoute(options),
|
|
247
247
|
PUT: getPutRoute(options),
|
|
248
248
|
DELETE: getDeleteRoute(options),
|
|
249
|
-
getContext: (req) => getContext(options.
|
|
249
|
+
getContext: (req) => getContext(options.keys, req)
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
252
|
|
package/dist/auth/index.esm.js
CHANGED
|
@@ -114,17 +114,17 @@ async function verifyCaptcha(token, secret) {
|
|
|
114
114
|
}
|
|
115
115
|
return false;
|
|
116
116
|
}
|
|
117
|
-
var getContext = (
|
|
117
|
+
var getContext = (keys, req) => {
|
|
118
118
|
const bearer = req.headers.get("authorization");
|
|
119
119
|
if (!bearer) {
|
|
120
120
|
const refresh = req.cookies.get("refresh")?.value;
|
|
121
|
-
const userId = getUserIdFromRefreshToken(
|
|
121
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
122
122
|
if (userId) return { userId, isRefreshID: true };
|
|
123
123
|
return { userId: null };
|
|
124
124
|
}
|
|
125
125
|
const token = bearer.slice(7);
|
|
126
126
|
try {
|
|
127
|
-
const res = verify2(token,
|
|
127
|
+
const res = verify2(token, keys.signing);
|
|
128
128
|
if (typeof res === "string") {
|
|
129
129
|
return { userId: null };
|
|
130
130
|
}
|
|
@@ -139,7 +139,7 @@ var getContext = (refreshKey, signingKey, req) => {
|
|
|
139
139
|
// src/auth/email/routes/delete.ts
|
|
140
140
|
var getDeleteRoute = (options) => async (req) => {
|
|
141
141
|
if (options.onLogout) {
|
|
142
|
-
const ctx = await getContext(options.
|
|
142
|
+
const ctx = await getContext(options.keys, req);
|
|
143
143
|
await options.onLogout?.(ctx.userId, req);
|
|
144
144
|
}
|
|
145
145
|
return getTokenizedResponse(void 0, "");
|
|
@@ -148,13 +148,13 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
148
148
|
// src/auth/email/routes/get.ts
|
|
149
149
|
var getGetRoute = (options) => async (req) => {
|
|
150
150
|
const refresh = req.cookies.get("refresh")?.value;
|
|
151
|
-
const userID = getUserIdFromRefreshToken(options.
|
|
151
|
+
const userID = getUserIdFromRefreshToken(options.keys.refresh, refresh);
|
|
152
152
|
if (userID) {
|
|
153
153
|
if (options.onRefresh) {
|
|
154
154
|
await options.onRefresh?.(userID, req);
|
|
155
155
|
}
|
|
156
156
|
return getTokenizedResponse(
|
|
157
|
-
generateAccessToken(userID, options.
|
|
157
|
+
generateAccessToken(userID, options.keys.signing)
|
|
158
158
|
);
|
|
159
159
|
}
|
|
160
160
|
return getTokenizedResponse();
|
|
@@ -169,8 +169,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
169
169
|
if (existingUser) {
|
|
170
170
|
if (await verifyUser(existingUser, data.password)) {
|
|
171
171
|
return getTokenizedResponse(
|
|
172
|
-
generateAccessToken(existingUser.id, options.
|
|
173
|
-
generateRefreshToken(existingUser.id, options.
|
|
172
|
+
generateAccessToken(existingUser.id, options.keys.signing),
|
|
173
|
+
generateRefreshToken(existingUser.id, options.keys.refresh)
|
|
174
174
|
);
|
|
175
175
|
}
|
|
176
176
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -185,8 +185,8 @@ var getPostRoute = (options) => async (req) => {
|
|
|
185
185
|
await options.onSignUp?.(newUser.id, req);
|
|
186
186
|
}
|
|
187
187
|
return getTokenizedResponse(
|
|
188
|
-
generateAccessToken(newUser.id, options.
|
|
189
|
-
generateRefreshToken(newUser.id, options.
|
|
188
|
+
generateAccessToken(newUser.id, options.keys.signing),
|
|
189
|
+
generateRefreshToken(newUser.id, options.keys.refresh)
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
192
|
return getTokenizedResponse();
|
|
@@ -204,8 +204,8 @@ var getPutRoute = (options) => async (req) => {
|
|
|
204
204
|
await options.onLogin?.(user.id, req);
|
|
205
205
|
}
|
|
206
206
|
return getTokenizedResponse(
|
|
207
|
-
generateAccessToken(user.id, options.
|
|
208
|
-
generateRefreshToken(user.id, options.
|
|
207
|
+
generateAccessToken(user.id, options.keys.signing),
|
|
208
|
+
generateRefreshToken(user.id, options.keys.refresh)
|
|
209
209
|
);
|
|
210
210
|
}
|
|
211
211
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -218,7 +218,7 @@ function getEmailAuthRoutes(options) {
|
|
|
218
218
|
POST: getPostRoute(options),
|
|
219
219
|
PUT: getPutRoute(options),
|
|
220
220
|
DELETE: getDeleteRoute(options),
|
|
221
|
-
getContext: (req) => getContext(options.
|
|
221
|
+
getContext: (req) => getContext(options.keys, req)
|
|
222
222
|
};
|
|
223
223
|
}
|
|
224
224
|
|
package/dist/file/index.cjs.js
CHANGED
|
@@ -52,17 +52,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
52
52
|
var import_server2 = require("next/server");
|
|
53
53
|
|
|
54
54
|
// src/auth/email/utils.ts
|
|
55
|
-
var getContext = (
|
|
55
|
+
var getContext = (keys, req) => {
|
|
56
56
|
const bearer = req.headers.get("authorization");
|
|
57
57
|
if (!bearer) {
|
|
58
58
|
const refresh = req.cookies.get("refresh")?.value;
|
|
59
|
-
const userId = getUserIdFromRefreshToken(
|
|
59
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
60
60
|
if (userId) return { userId, isRefreshID: true };
|
|
61
61
|
return { userId: null };
|
|
62
62
|
}
|
|
63
63
|
const token = bearer.slice(7);
|
|
64
64
|
try {
|
|
65
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
65
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
66
66
|
if (typeof res === "string") {
|
|
67
67
|
return { userId: null };
|
|
68
68
|
}
|
|
@@ -145,7 +145,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
145
145
|
|
|
146
146
|
// src/file/put.ts
|
|
147
147
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
148
|
-
const ctx = getContext(options.
|
|
148
|
+
const ctx = getContext(options.keys, req);
|
|
149
149
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
150
150
|
return import_server3.NextResponse.json({ error: "unauthorized" }, { status: 401 });
|
|
151
151
|
const formData = await req.formData();
|
package/dist/file/index.d.mts
CHANGED
package/dist/file/index.d.ts
CHANGED
package/dist/file/index.esm.js
CHANGED
|
@@ -26,17 +26,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
26
26
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
27
27
|
|
|
28
28
|
// src/auth/email/utils.ts
|
|
29
|
-
var getContext = (
|
|
29
|
+
var getContext = (keys, req) => {
|
|
30
30
|
const bearer = req.headers.get("authorization");
|
|
31
31
|
if (!bearer) {
|
|
32
32
|
const refresh = req.cookies.get("refresh")?.value;
|
|
33
|
-
const userId = getUserIdFromRefreshToken(
|
|
33
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
34
|
if (userId) return { userId, isRefreshID: true };
|
|
35
35
|
return { userId: null };
|
|
36
36
|
}
|
|
37
37
|
const token = bearer.slice(7);
|
|
38
38
|
try {
|
|
39
|
-
const res = verify2(token,
|
|
39
|
+
const res = verify2(token, keys.signing);
|
|
40
40
|
if (typeof res === "string") {
|
|
41
41
|
return { userId: null };
|
|
42
42
|
}
|
|
@@ -123,7 +123,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
123
123
|
|
|
124
124
|
// src/file/put.ts
|
|
125
125
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
126
|
-
const ctx = getContext(options.
|
|
126
|
+
const ctx = getContext(options.keys, req);
|
|
127
127
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
128
128
|
return NextResponse3.json({ error: "unauthorized" }, { status: 401 });
|
|
129
129
|
const formData = await req.formData();
|
package/dist/file/put.cjs.js
CHANGED
|
@@ -50,17 +50,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
50
50
|
var import_server2 = require("next/server");
|
|
51
51
|
|
|
52
52
|
// src/auth/email/utils.ts
|
|
53
|
-
var getContext = (
|
|
53
|
+
var getContext = (keys, req) => {
|
|
54
54
|
const bearer = req.headers.get("authorization");
|
|
55
55
|
if (!bearer) {
|
|
56
56
|
const refresh = req.cookies.get("refresh")?.value;
|
|
57
|
-
const userId = getUserIdFromRefreshToken(
|
|
57
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
58
58
|
if (userId) return { userId, isRefreshID: true };
|
|
59
59
|
return { userId: null };
|
|
60
60
|
}
|
|
61
61
|
const token = bearer.slice(7);
|
|
62
62
|
try {
|
|
63
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
63
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
64
64
|
if (typeof res === "string") {
|
|
65
65
|
return { userId: null };
|
|
66
66
|
}
|
|
@@ -98,7 +98,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
98
98
|
|
|
99
99
|
// src/file/put.ts
|
|
100
100
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
101
|
-
const ctx = getContext(options.
|
|
101
|
+
const ctx = getContext(options.keys, req);
|
|
102
102
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
103
103
|
return import_server3.NextResponse.json({ error: "unauthorized" }, { status: 401 });
|
|
104
104
|
const formData = await req.formData();
|
package/dist/file/put.d.mts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
2
2
|
import { NextRequest, NextResponse } from 'next/server';
|
|
3
3
|
import { SetupFileUploadOptions } from './setup.mjs';
|
|
4
|
+
import '../auth/email/types.mjs';
|
|
5
|
+
import '../auth/types.mjs';
|
|
4
6
|
|
|
5
7
|
declare const getFileUploadPutRoute: (options: SetupFileUploadOptions, client: S3Client) => (req: NextRequest) => Promise<NextResponse<{
|
|
6
8
|
error: string;
|
package/dist/file/put.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
2
2
|
import { NextRequest, NextResponse } from 'next/server';
|
|
3
3
|
import { SetupFileUploadOptions } from './setup.js';
|
|
4
|
+
import '../auth/email/types.js';
|
|
5
|
+
import '../auth/types.js';
|
|
4
6
|
|
|
5
7
|
declare const getFileUploadPutRoute: (options: SetupFileUploadOptions, client: S3Client) => (req: NextRequest) => Promise<NextResponse<{
|
|
6
8
|
error: string;
|
package/dist/file/put.esm.js
CHANGED
|
@@ -26,17 +26,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
26
26
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
27
27
|
|
|
28
28
|
// src/auth/email/utils.ts
|
|
29
|
-
var getContext = (
|
|
29
|
+
var getContext = (keys, req) => {
|
|
30
30
|
const bearer = req.headers.get("authorization");
|
|
31
31
|
if (!bearer) {
|
|
32
32
|
const refresh = req.cookies.get("refresh")?.value;
|
|
33
|
-
const userId = getUserIdFromRefreshToken(
|
|
33
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
34
|
if (userId) return { userId, isRefreshID: true };
|
|
35
35
|
return { userId: null };
|
|
36
36
|
}
|
|
37
37
|
const token = bearer.slice(7);
|
|
38
38
|
try {
|
|
39
|
-
const res = verify2(token,
|
|
39
|
+
const res = verify2(token, keys.signing);
|
|
40
40
|
if (typeof res === "string") {
|
|
41
41
|
return { userId: null };
|
|
42
42
|
}
|
|
@@ -78,7 +78,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
78
78
|
|
|
79
79
|
// src/file/put.ts
|
|
80
80
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
81
|
-
const ctx = getContext(options.
|
|
81
|
+
const ctx = getContext(options.keys, req);
|
|
82
82
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
83
83
|
return NextResponse3.json({ error: "unauthorized" }, { status: 401 });
|
|
84
84
|
const formData = await req.formData();
|
package/dist/file/setup.cjs.js
CHANGED
|
@@ -52,17 +52,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
52
52
|
var import_server2 = require("next/server");
|
|
53
53
|
|
|
54
54
|
// src/auth/email/utils.ts
|
|
55
|
-
var getContext = (
|
|
55
|
+
var getContext = (keys, req) => {
|
|
56
56
|
const bearer = req.headers.get("authorization");
|
|
57
57
|
if (!bearer) {
|
|
58
58
|
const refresh = req.cookies.get("refresh")?.value;
|
|
59
|
-
const userId = getUserIdFromRefreshToken(
|
|
59
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
60
60
|
if (userId) return { userId, isRefreshID: true };
|
|
61
61
|
return { userId: null };
|
|
62
62
|
}
|
|
63
63
|
const token = bearer.slice(7);
|
|
64
64
|
try {
|
|
65
|
-
const res = (0, import_jsonwebtoken2.verify)(token,
|
|
65
|
+
const res = (0, import_jsonwebtoken2.verify)(token, keys.signing);
|
|
66
66
|
if (typeof res === "string") {
|
|
67
67
|
return { userId: null };
|
|
68
68
|
}
|
|
@@ -145,7 +145,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
145
145
|
|
|
146
146
|
// src/file/put.ts
|
|
147
147
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
148
|
-
const ctx = getContext(options.
|
|
148
|
+
const ctx = getContext(options.keys, req);
|
|
149
149
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
150
150
|
return import_server3.NextResponse.json({ error: "unauthorized" }, { status: 401 });
|
|
151
151
|
const formData = await req.formData();
|
package/dist/file/setup.d.mts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as next_server from 'next/server';
|
|
2
|
+
import { AuthKeys } from '../auth/email/types.mjs';
|
|
3
|
+
import '../auth/types.mjs';
|
|
2
4
|
|
|
3
5
|
interface SetupFileUploadOptions {
|
|
4
|
-
|
|
5
|
-
signingKey: string;
|
|
6
|
+
keys: AuthKeys;
|
|
6
7
|
region: string;
|
|
7
8
|
bucket: string;
|
|
8
9
|
awsSecret: string;
|
package/dist/file/setup.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as next_server from 'next/server';
|
|
2
|
+
import { AuthKeys } from '../auth/email/types.js';
|
|
3
|
+
import '../auth/types.js';
|
|
2
4
|
|
|
3
5
|
interface SetupFileUploadOptions {
|
|
4
|
-
|
|
5
|
-
signingKey: string;
|
|
6
|
+
keys: AuthKeys;
|
|
6
7
|
region: string;
|
|
7
8
|
bucket: string;
|
|
8
9
|
awsSecret: string;
|
package/dist/file/setup.esm.js
CHANGED
|
@@ -26,17 +26,17 @@ function getUserIdFromRefreshToken(refreshKey, refreshToken) {
|
|
|
26
26
|
import { NextResponse as NextResponse2 } from "next/server";
|
|
27
27
|
|
|
28
28
|
// src/auth/email/utils.ts
|
|
29
|
-
var getContext = (
|
|
29
|
+
var getContext = (keys, req) => {
|
|
30
30
|
const bearer = req.headers.get("authorization");
|
|
31
31
|
if (!bearer) {
|
|
32
32
|
const refresh = req.cookies.get("refresh")?.value;
|
|
33
|
-
const userId = getUserIdFromRefreshToken(
|
|
33
|
+
const userId = getUserIdFromRefreshToken(keys.refresh, refresh);
|
|
34
34
|
if (userId) return { userId, isRefreshID: true };
|
|
35
35
|
return { userId: null };
|
|
36
36
|
}
|
|
37
37
|
const token = bearer.slice(7);
|
|
38
38
|
try {
|
|
39
|
-
const res = verify2(token,
|
|
39
|
+
const res = verify2(token, keys.signing);
|
|
40
40
|
if (typeof res === "string") {
|
|
41
41
|
return { userId: null };
|
|
42
42
|
}
|
|
@@ -123,7 +123,7 @@ var uploadBlob = (client, Bucket) => async (file, key) => {
|
|
|
123
123
|
|
|
124
124
|
// src/file/put.ts
|
|
125
125
|
var getFileUploadPutRoute = (options, client) => async (req) => {
|
|
126
|
-
const ctx = getContext(options.
|
|
126
|
+
const ctx = getContext(options.keys, req);
|
|
127
127
|
if (!ctx?.userId || ctx.isRefreshID)
|
|
128
128
|
return NextResponse3.json({ error: "unauthorized" }, { status: 401 });
|
|
129
129
|
const formData = await req.formData();
|
package/dist/file/utils.d.mts
CHANGED
|
@@ -2,6 +2,8 @@ import * as _aws_sdk_client_s3 from '@aws-sdk/client-s3';
|
|
|
2
2
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
3
3
|
import { SetupFileUploadOptions } from './setup.mjs';
|
|
4
4
|
import 'next/server';
|
|
5
|
+
import '../auth/email/types.mjs';
|
|
6
|
+
import '../auth/types.mjs';
|
|
5
7
|
|
|
6
8
|
declare const getS3Client: (options: SetupFileUploadOptions) => S3Client;
|
|
7
9
|
declare const getUploadURL: (client: S3Client, Bucket: string) => (keys: string | string[]) => Promise<string>;
|
package/dist/file/utils.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as _aws_sdk_client_s3 from '@aws-sdk/client-s3';
|
|
|
2
2
|
import { S3Client } from '@aws-sdk/client-s3';
|
|
3
3
|
import { SetupFileUploadOptions } from './setup.js';
|
|
4
4
|
import 'next/server';
|
|
5
|
+
import '../auth/email/types.js';
|
|
6
|
+
import '../auth/types.js';
|
|
5
7
|
|
|
6
8
|
declare const getS3Client: (options: SetupFileUploadOptions) => S3Client;
|
|
7
9
|
declare const getUploadURL: (client: S3Client, Bucket: string) => (keys: string | string[]) => Promise<string>;
|
|
@@ -41,12 +41,10 @@ var import_client = require("@apollo/client");
|
|
|
41
41
|
var import_client_integration_nextjs = require("@apollo/client-integration-nextjs");
|
|
42
42
|
var import_client2 = require("naystack/auth/email/client");
|
|
43
43
|
var import_react = __toESM(require("react"));
|
|
44
|
-
var getApolloWrapper = (endpoint, {
|
|
45
|
-
cacheConfig
|
|
46
|
-
}) => {
|
|
44
|
+
var getApolloWrapper = (endpoint, options) => {
|
|
47
45
|
function makeClient() {
|
|
48
46
|
return new import_client_integration_nextjs.ApolloClient({
|
|
49
|
-
cache: new import_client_integration_nextjs.InMemoryCache(cacheConfig),
|
|
47
|
+
cache: new import_client_integration_nextjs.InMemoryCache(options?.cacheConfig),
|
|
50
48
|
link: new import_client.HttpLink({
|
|
51
49
|
uri: endpoint
|
|
52
50
|
})
|
|
@@ -3,7 +3,7 @@ import { InMemoryCacheConfig, OperationVariables, MutationHookOptions } from '@a
|
|
|
3
3
|
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
4
4
|
import react__default, { PropsWithChildren } from 'react';
|
|
5
5
|
|
|
6
|
-
declare const getApolloWrapper: (endpoint: string,
|
|
6
|
+
declare const getApolloWrapper: (endpoint: string, options?: {
|
|
7
7
|
cacheConfig?: InMemoryCacheConfig;
|
|
8
8
|
}) => ({ children }: PropsWithChildren) => react__default.JSX.Element;
|
|
9
9
|
declare const tokenContext: (token?: string | null) => {
|
package/dist/graphql/client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { InMemoryCacheConfig, OperationVariables, MutationHookOptions } from '@a
|
|
|
3
3
|
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
4
4
|
import react__default, { PropsWithChildren } from 'react';
|
|
5
5
|
|
|
6
|
-
declare const getApolloWrapper: (endpoint: string,
|
|
6
|
+
declare const getApolloWrapper: (endpoint: string, options?: {
|
|
7
7
|
cacheConfig?: InMemoryCacheConfig;
|
|
8
8
|
}) => ({ children }: PropsWithChildren) => react__default.JSX.Element;
|
|
9
9
|
declare const tokenContext: (token?: string | null) => {
|
|
@@ -17,12 +17,10 @@ import React, {
|
|
|
17
17
|
useEffect,
|
|
18
18
|
useState
|
|
19
19
|
} from "react";
|
|
20
|
-
var getApolloWrapper = (endpoint, {
|
|
21
|
-
cacheConfig
|
|
22
|
-
}) => {
|
|
20
|
+
var getApolloWrapper = (endpoint, options) => {
|
|
23
21
|
function makeClient() {
|
|
24
22
|
return new ApolloClient({
|
|
25
|
-
cache: new InMemoryCache(cacheConfig),
|
|
23
|
+
cache: new InMemoryCache(options?.cacheConfig),
|
|
26
24
|
link: new HttpLink({
|
|
27
25
|
uri: endpoint
|
|
28
26
|
})
|