naystack 1.7.20 → 1.7.24

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.
Files changed (45) hide show
  1. package/dist/auth/client.cjs.js +10 -24
  2. package/dist/auth/client.esm.js +10 -24
  3. package/dist/auth/email/client.cjs.js +10 -24
  4. package/dist/auth/email/client.d.mts +2 -4
  5. package/dist/auth/email/client.d.ts +2 -4
  6. package/dist/auth/email/client.esm.js +10 -24
  7. package/dist/auth/email/index.cjs.js +19 -23
  8. package/dist/auth/email/index.d.mts +3 -9
  9. package/dist/auth/email/index.d.ts +3 -9
  10. package/dist/auth/email/index.esm.js +18 -23
  11. package/dist/auth/email/next.cjs.js +2 -2
  12. package/dist/auth/email/next.d.mts +1 -1
  13. package/dist/auth/email/next.d.ts +1 -1
  14. package/dist/auth/email/next.esm.js +2 -2
  15. package/dist/auth/email/routes/delete.cjs.js +13 -4
  16. package/dist/auth/email/routes/delete.d.mts +1 -4
  17. package/dist/auth/email/routes/delete.d.ts +1 -4
  18. package/dist/auth/email/routes/delete.esm.js +13 -4
  19. package/dist/auth/email/routes/get.cjs.js +21 -16
  20. package/dist/auth/email/routes/get.d.mts +1 -4
  21. package/dist/auth/email/routes/get.d.ts +1 -4
  22. package/dist/auth/email/routes/get.esm.js +21 -16
  23. package/dist/auth/email/routes/post.cjs.js +25 -29
  24. package/dist/auth/email/routes/post.esm.js +25 -29
  25. package/dist/auth/email/routes/put.cjs.js +24 -24
  26. package/dist/auth/email/routes/put.esm.js +24 -24
  27. package/dist/auth/email/token.cjs.js +8 -7
  28. package/dist/auth/email/token.d.mts +4 -10
  29. package/dist/auth/email/token.d.ts +4 -10
  30. package/dist/auth/email/token.esm.js +8 -7
  31. package/dist/auth/google/get.cjs.js +3 -15
  32. package/dist/auth/google/get.esm.js +3 -15
  33. package/dist/auth/google/index.cjs.js +3 -15
  34. package/dist/auth/google/index.esm.js +3 -15
  35. package/dist/auth/index.cjs.js +20 -31
  36. package/dist/auth/index.d.mts +1 -1
  37. package/dist/auth/index.d.ts +1 -1
  38. package/dist/auth/index.esm.js +19 -31
  39. package/dist/graphql/index.cjs.js +1 -2
  40. package/dist/graphql/index.esm.js +1 -2
  41. package/dist/graphql/init.cjs.js +1 -2
  42. package/dist/graphql/init.esm.js +1 -2
  43. package/dist/utils/route.cjs.js +1 -2
  44. package/dist/utils/route.esm.js +1 -2
  45. package/package.json +1 -1
@@ -4,19 +4,17 @@ import { UserOutput } from '../types.js';
4
4
  /**
5
5
  * Generates a JWT access token for the user (2-hour expiry).
6
6
  * @param id - User id to encode in the JWT payload.
7
- * @param signingKey - Secret used to sign the token (typically `SIGNING_KEY` env var).
8
7
  * @returns Signed JWT string.
9
8
  * @category Auth
10
9
  */
11
- declare function generateAccessToken(id: number, signingKey: string): string;
10
+ declare function generateAccessToken(id: number): string;
12
11
  /**
13
12
  * Generates a JWT refresh token for the user (no expiry — persisted in httpOnly cookie).
14
13
  * @param id - User id to encode in the JWT payload.
15
- * @param refreshKey - Secret used to sign the token (typically `REFRESH_KEY` env var).
16
14
  * @returns Signed JWT string.
17
15
  * @category Auth
18
16
  */
19
- declare function generateRefreshToken(id: number, refreshKey: string): string;
17
+ declare function generateRefreshToken(id: number): string;
20
18
  /**
21
19
  * Builds a NextResponse with access/refresh tokens in the JSON body and sets the refresh cookie.
22
20
  *
@@ -24,15 +22,11 @@ declare function generateRefreshToken(id: number, refreshKey: string): string;
24
22
  * - If `refreshToken` is empty string, the cookie expires immediately (logout).
25
23
  * - If `refreshToken` is a valid string, the cookie is set for 1 year.
26
24
  *
27
- * @param accessToken - Optional access JWT to include in response body.
28
- * @param refreshToken - Optional refresh JWT to set as httpOnly cookie. Empty string clears the cookie.
25
+ * @param id - Optional user id.
29
26
  * @returns NextResponse with JSON body and Set-Cookie headers.
30
27
  * @category Auth
31
28
  */
32
- declare function getTokenizedResponse(accessToken?: string, refreshToken?: string): NextResponse<{
33
- accessToken: string | undefined;
34
- refreshToken: string | undefined;
35
- }>;
29
+ declare function getTokenizedResponse(id?: number): NextResponse<string | undefined>;
36
30
  /**
37
31
  * Decodes a refresh token and returns the user id from the JWT payload.
38
32
  * @param refreshToken - JWT refresh token string.
@@ -59,17 +59,18 @@ function getEnv(key, skipCheck) {
59
59
  var REFRESH_COOKIE_NAME = "refresh";
60
60
 
61
61
  // src/auth/email/token.ts
62
- function generateAccessToken(id, signingKey) {
63
- return sign({ id }, signingKey, {
62
+ function generateAccessToken(id) {
63
+ return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
64
64
  expiresIn: "2h"
65
65
  });
66
66
  }
67
- function generateRefreshToken(id, refreshKey) {
68
- return sign({ id }, refreshKey);
67
+ function generateRefreshToken(id) {
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
69
69
  }
70
- function getTokenizedResponse(accessToken, refreshToken) {
71
- const body = { accessToken, refreshToken };
72
- const response = NextResponse.json(body, {
70
+ function getTokenizedResponse(id) {
71
+ const accessToken = id ? generateAccessToken(id) : void 0;
72
+ const refreshToken = id ? generateRefreshToken(id) : void 0;
73
+ const response = NextResponse.json(accessToken, {
73
74
  status: 200
74
75
  });
75
76
  if (!accessToken) {
@@ -88,13 +88,8 @@ function getEnv(key, skipCheck) {
88
88
  var REFRESH_COOKIE_NAME = "refresh";
89
89
 
90
90
  // src/auth/email/token.ts
91
- function generateAccessToken(id, signingKey) {
92
- return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
93
- expiresIn: "2h"
94
- });
95
- }
96
- function generateRefreshToken(id, refreshKey) {
97
- return (0, import_jsonwebtoken.sign)({ id }, refreshKey);
91
+ function generateRefreshToken(id) {
92
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
98
93
  }
99
94
 
100
95
  // src/auth/google/get.ts
@@ -170,18 +165,11 @@ var getGoogleGetRoute = ({
170
165
  const { data } = JSON.parse(localState);
171
166
  const id = await getUserIdFromEmail(user, data);
172
167
  if (id) {
173
- const accessToken = generateAccessToken(
174
- id,
175
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
176
- );
177
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
178
168
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
179
- targetUrl.searchParams.set("accessToken", accessToken);
180
- targetUrl.searchParams.set("refreshToken", refreshToken);
181
169
  const res = import_server2.NextResponse.redirect(targetUrl);
182
170
  res.cookies.set(
183
171
  REFRESH_COOKIE_NAME,
184
- refreshToken,
172
+ generateRefreshToken(id),
185
173
  {
186
174
  httpOnly: true,
187
175
  secure: true
@@ -64,13 +64,8 @@ function getEnv(key, skipCheck) {
64
64
  var REFRESH_COOKIE_NAME = "refresh";
65
65
 
66
66
  // src/auth/email/token.ts
67
- function generateAccessToken(id, signingKey) {
68
- return sign({ id }, signingKey, {
69
- expiresIn: "2h"
70
- });
71
- }
72
- function generateRefreshToken(id, refreshKey) {
73
- return sign({ id }, refreshKey);
67
+ function generateRefreshToken(id) {
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
74
69
  }
75
70
 
76
71
  // src/auth/google/get.ts
@@ -146,18 +141,11 @@ var getGoogleGetRoute = ({
146
141
  const { data } = JSON.parse(localState);
147
142
  const id = await getUserIdFromEmail(user, data);
148
143
  if (id) {
149
- const accessToken = generateAccessToken(
150
- id,
151
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
152
- );
153
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
154
144
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
155
- targetUrl.searchParams.set("accessToken", accessToken);
156
- targetUrl.searchParams.set("refreshToken", refreshToken);
157
145
  const res = NextResponse2.redirect(targetUrl);
158
146
  res.cookies.set(
159
147
  REFRESH_COOKIE_NAME,
160
- refreshToken,
148
+ generateRefreshToken(id),
161
149
  {
162
150
  httpOnly: true,
163
151
  secure: true
@@ -90,13 +90,8 @@ function getEnv(key, skipCheck) {
90
90
  var REFRESH_COOKIE_NAME = "refresh";
91
91
 
92
92
  // src/auth/email/token.ts
93
- function generateAccessToken(id, signingKey) {
94
- return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
95
- expiresIn: "2h"
96
- });
97
- }
98
- function generateRefreshToken(id, refreshKey) {
99
- return (0, import_jsonwebtoken.sign)({ id }, refreshKey);
93
+ function generateRefreshToken(id) {
94
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
100
95
  }
101
96
 
102
97
  // src/auth/google/get.ts
@@ -172,18 +167,11 @@ var getGoogleGetRoute = ({
172
167
  const { data } = JSON.parse(localState);
173
168
  const id = await getUserIdFromEmail(user, data);
174
169
  if (id) {
175
- const accessToken = generateAccessToken(
176
- id,
177
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
178
- );
179
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
180
170
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
181
- targetUrl.searchParams.set("accessToken", accessToken);
182
- targetUrl.searchParams.set("refreshToken", refreshToken);
183
171
  const res = import_server2.NextResponse.redirect(targetUrl);
184
172
  res.cookies.set(
185
173
  REFRESH_COOKIE_NAME,
186
- refreshToken,
174
+ generateRefreshToken(id),
187
175
  {
188
176
  httpOnly: true,
189
177
  secure: true
@@ -64,13 +64,8 @@ function getEnv(key, skipCheck) {
64
64
  var REFRESH_COOKIE_NAME = "refresh";
65
65
 
66
66
  // src/auth/email/token.ts
67
- function generateAccessToken(id, signingKey) {
68
- return sign({ id }, signingKey, {
69
- expiresIn: "2h"
70
- });
71
- }
72
- function generateRefreshToken(id, refreshKey) {
73
- return sign({ id }, refreshKey);
67
+ function generateRefreshToken(id) {
68
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
74
69
  }
75
70
 
76
71
  // src/auth/google/get.ts
@@ -146,18 +141,11 @@ var getGoogleGetRoute = ({
146
141
  const { data } = JSON.parse(localState);
147
142
  const id = await getUserIdFromEmail(user, data);
148
143
  if (id) {
149
- const accessToken = generateAccessToken(
150
- id,
151
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
152
- );
153
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
154
144
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
155
- targetUrl.searchParams.set("accessToken", accessToken);
156
- targetUrl.searchParams.set("refreshToken", refreshToken);
157
145
  const res = NextResponse2.redirect(targetUrl);
158
146
  res.cookies.set(
159
147
  REFRESH_COOKIE_NAME,
160
- refreshToken,
148
+ generateRefreshToken(id),
161
149
  {
162
150
  httpOnly: true,
163
151
  secure: true
@@ -36,6 +36,7 @@ __export(auth_exports, {
36
36
  getContext: () => getContext,
37
37
  getRefreshToken: () => getRefreshToken,
38
38
  getRefreshedInstagramAccessToken: () => getRefreshedInstagramAccessToken,
39
+ getTokenizedResponse: () => getTokenizedResponse,
39
40
  setupEmailAuth: () => setupEmailAuth,
40
41
  setupGoogleAuth: () => setupGoogleAuth,
41
42
  setupInstagramAuth: () => setupInstagramAuth
@@ -50,7 +51,6 @@ var import_server = require("next/server");
50
51
 
51
52
  // src/auth/constants.ts
52
53
  var REFRESH_COOKIE_NAME = "refresh";
53
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
54
54
 
55
55
  // src/utils/route.ts
56
56
  function getCorsHeaders(origin, allowedOrigins) {
@@ -58,7 +58,7 @@ function getCorsHeaders(origin, allowedOrigins) {
58
58
  return {
59
59
  "Access-Control-Allow-Origin": origin,
60
60
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
61
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
61
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
62
62
  "Access-Control-Allow-Credentials": "true"
63
63
  };
64
64
  }
@@ -147,17 +147,18 @@ function getEnv(key, skipCheck) {
147
147
  }
148
148
 
149
149
  // src/auth/email/token.ts
150
- function generateAccessToken(id, signingKey) {
151
- return (0, import_jsonwebtoken.sign)({ id }, signingKey, {
150
+ function generateAccessToken(id) {
151
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
152
152
  expiresIn: "2h"
153
153
  });
154
154
  }
155
- function generateRefreshToken(id, refreshKey) {
156
- return (0, import_jsonwebtoken.sign)({ id }, refreshKey);
155
+ function generateRefreshToken(id) {
156
+ return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
157
157
  }
158
- function getTokenizedResponse(accessToken, refreshToken) {
159
- const body = { accessToken, refreshToken };
160
- const response = import_server2.NextResponse.json(body, {
158
+ function getTokenizedResponse(id) {
159
+ const accessToken = id ? generateAccessToken(id) : void 0;
160
+ const refreshToken = id ? generateRefreshToken(id) : void 0;
161
+ const response = import_server2.NextResponse.json(accessToken, {
161
162
  status: 200
162
163
  });
163
164
  if (!accessToken) {
@@ -298,12 +299,12 @@ var getDeleteRoute = (options) => async (req) => {
298
299
  const body = await req.json();
299
300
  await options.onLogout?.(ctx.userId, body);
300
301
  }
301
- return getTokenizedResponse(void 0, "");
302
+ return getTokenizedResponse();
302
303
  };
303
304
 
304
305
  // src/auth/email/routes/get.ts
305
306
  var getGetRoute = (options) => async (req) => {
306
- const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || req.headers.get(REFRESH_HEADER_NAME) || void 0;
307
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
307
308
  const userID = getUserIdFromRefreshToken(refresh);
308
309
  if (userID) {
309
310
  if (options.onRefresh) {
@@ -311,7 +312,7 @@ var getGetRoute = (options) => async (req) => {
311
312
  await options.onRefresh?.(userID, body);
312
313
  }
313
314
  return getTokenizedResponse(
314
- generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
315
+ userID
315
316
  );
316
317
  }
317
318
  return getTokenizedResponse();
@@ -326,11 +327,7 @@ var getPostRoute = (options) => async (req) => {
326
327
  if (existingUser) {
327
328
  if (await verifyUser(existingUser, data.password)) {
328
329
  return getTokenizedResponse(
329
- generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
330
- generateRefreshToken(
331
- existingUser.id,
332
- getEnv("REFRESH_KEY" /* REFRESH_KEY */)
333
- )
330
+ existingUser.id
334
331
  );
335
332
  }
336
333
  return handleError(400, "A user already exists", options.onError);
@@ -345,8 +342,7 @@ var getPostRoute = (options) => async (req) => {
345
342
  await options.onSignUp?.(newUser.id, data);
346
343
  }
347
344
  return getTokenizedResponse(
348
- generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
349
- generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
345
+ newUser.id
350
346
  );
351
347
  }
352
348
  return getTokenizedResponse();
@@ -364,8 +360,7 @@ var getPutRoute = (options) => async (req) => {
364
360
  await options.onLogin?.(user.id, data);
365
361
  }
366
362
  return getTokenizedResponse(
367
- generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
368
- generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
363
+ user.id
369
364
  );
370
365
  }
371
366
  return handleError(403, "Invalid password", options.onError);
@@ -426,8 +421,8 @@ function AuthFetch() {
426
421
  }
427
422
  );
428
423
  }
429
- function AuthWrapper({ children, getRefreshToken: getRefreshToken2, onTokenUpdate, skipInitialFetch }) {
430
- return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true, getRefreshToken: getRefreshToken2, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
424
+ function AuthWrapper({ children, skipInitialFetch }) {
425
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true }, !skipInitialFetch && /* @__PURE__ */ import_react3.default.createElement(AuthFetch, null), children));
431
426
  }
432
427
 
433
428
  // src/auth/email/index.ts
@@ -529,18 +524,11 @@ var getGoogleGetRoute = ({
529
524
  const { data } = JSON.parse(localState);
530
525
  const id = await getUserIdFromEmail(user, data);
531
526
  if (id) {
532
- const accessToken = generateAccessToken(
533
- id,
534
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
535
- );
536
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
537
527
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
538
- targetUrl.searchParams.set("accessToken", accessToken);
539
- targetUrl.searchParams.set("refreshToken", refreshToken);
540
528
  const res = import_server6.NextResponse.redirect(targetUrl);
541
529
  res.cookies.set(
542
530
  REFRESH_COOKIE_NAME,
543
- refreshToken,
531
+ generateRefreshToken(id),
544
532
  {
545
533
  httpOnly: true,
546
534
  secure: true
@@ -686,6 +674,7 @@ async function getRefreshToken() {
686
674
  getContext,
687
675
  getRefreshToken,
688
676
  getRefreshedInstagramAccessToken,
677
+ getTokenizedResponse,
689
678
  setupEmailAuth,
690
679
  setupGoogleAuth,
691
680
  setupInstagramAuth
@@ -3,7 +3,7 @@ export { SetupGoogleAuthOptions, setupGoogleAuth } from './google/index.mjs';
3
3
  export { SetupInstagramAuthOptions, setupInstagramAuth } from './instagram/index.mjs';
4
4
  export { getRefreshToken } from './utils/token.mjs';
5
5
  export { AuthFetch, AuthWrapper } from './email/next.mjs';
6
- export { checkAuthStatus } from './email/token.mjs';
6
+ export { checkAuthStatus, getTokenizedResponse } from './email/token.mjs';
7
7
  export { getContext } from './email/utils.mjs';
8
8
  export { getRefreshedInstagramAccessToken } from './instagram/utils.mjs';
9
9
  import 'next/server';
@@ -3,7 +3,7 @@ export { SetupGoogleAuthOptions, setupGoogleAuth } from './google/index.js';
3
3
  export { SetupInstagramAuthOptions, setupInstagramAuth } from './instagram/index.js';
4
4
  export { getRefreshToken } from './utils/token.js';
5
5
  export { AuthFetch, AuthWrapper } from './email/next.js';
6
- export { checkAuthStatus } from './email/token.js';
6
+ export { checkAuthStatus, getTokenizedResponse } from './email/token.js';
7
7
  export { getContext } from './email/utils.js';
8
8
  export { getRefreshedInstagramAccessToken } from './instagram/utils.js';
9
9
  import 'next/server';
@@ -6,7 +6,6 @@ import { NextResponse } from "next/server";
6
6
 
7
7
  // src/auth/constants.ts
8
8
  var REFRESH_COOKIE_NAME = "refresh";
9
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
10
9
 
11
10
  // src/utils/route.ts
12
11
  function getCorsHeaders(origin, allowedOrigins) {
@@ -14,7 +13,7 @@ function getCorsHeaders(origin, allowedOrigins) {
14
13
  return {
15
14
  "Access-Control-Allow-Origin": origin,
16
15
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
17
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
16
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
18
17
  "Access-Control-Allow-Credentials": "true"
19
18
  };
20
19
  }
@@ -103,17 +102,18 @@ function getEnv(key, skipCheck) {
103
102
  }
104
103
 
105
104
  // src/auth/email/token.ts
106
- function generateAccessToken(id, signingKey) {
107
- return sign({ id }, signingKey, {
105
+ function generateAccessToken(id) {
106
+ return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
108
107
  expiresIn: "2h"
109
108
  });
110
109
  }
111
- function generateRefreshToken(id, refreshKey) {
112
- return sign({ id }, refreshKey);
110
+ function generateRefreshToken(id) {
111
+ return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
113
112
  }
114
- function getTokenizedResponse(accessToken, refreshToken) {
115
- const body = { accessToken, refreshToken };
116
- const response = NextResponse2.json(body, {
113
+ function getTokenizedResponse(id) {
114
+ const accessToken = id ? generateAccessToken(id) : void 0;
115
+ const refreshToken = id ? generateRefreshToken(id) : void 0;
116
+ const response = NextResponse2.json(accessToken, {
117
117
  status: 200
118
118
  });
119
119
  if (!accessToken) {
@@ -254,12 +254,12 @@ var getDeleteRoute = (options) => async (req) => {
254
254
  const body = await req.json();
255
255
  await options.onLogout?.(ctx.userId, body);
256
256
  }
257
- return getTokenizedResponse(void 0, "");
257
+ return getTokenizedResponse();
258
258
  };
259
259
 
260
260
  // src/auth/email/routes/get.ts
261
261
  var getGetRoute = (options) => async (req) => {
262
- const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || req.headers.get(REFRESH_HEADER_NAME) || void 0;
262
+ const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
263
263
  const userID = getUserIdFromRefreshToken(refresh);
264
264
  if (userID) {
265
265
  if (options.onRefresh) {
@@ -267,7 +267,7 @@ var getGetRoute = (options) => async (req) => {
267
267
  await options.onRefresh?.(userID, body);
268
268
  }
269
269
  return getTokenizedResponse(
270
- generateAccessToken(userID, getEnv("SIGNING_KEY" /* SIGNING_KEY */))
270
+ userID
271
271
  );
272
272
  }
273
273
  return getTokenizedResponse();
@@ -282,11 +282,7 @@ var getPostRoute = (options) => async (req) => {
282
282
  if (existingUser) {
283
283
  if (await verifyUser(existingUser, data.password)) {
284
284
  return getTokenizedResponse(
285
- generateAccessToken(existingUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
286
- generateRefreshToken(
287
- existingUser.id,
288
- getEnv("REFRESH_KEY" /* REFRESH_KEY */)
289
- )
285
+ existingUser.id
290
286
  );
291
287
  }
292
288
  return handleError(400, "A user already exists", options.onError);
@@ -301,8 +297,7 @@ var getPostRoute = (options) => async (req) => {
301
297
  await options.onSignUp?.(newUser.id, data);
302
298
  }
303
299
  return getTokenizedResponse(
304
- generateAccessToken(newUser.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
305
- generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
300
+ newUser.id
306
301
  );
307
302
  }
308
303
  return getTokenizedResponse();
@@ -320,8 +315,7 @@ var getPutRoute = (options) => async (req) => {
320
315
  await options.onLogin?.(user.id, data);
321
316
  }
322
317
  return getTokenizedResponse(
323
- generateAccessToken(user.id, getEnv("SIGNING_KEY" /* SIGNING_KEY */)),
324
- generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
318
+ user.id
325
319
  );
326
320
  }
327
321
  return handleError(403, "Invalid password", options.onError);
@@ -386,8 +380,8 @@ function AuthFetch() {
386
380
  }
387
381
  );
388
382
  }
389
- function AuthWrapper({ children, getRefreshToken: getRefreshToken2, onTokenUpdate, skipInitialFetch }) {
390
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true, getRefreshToken: getRefreshToken2, onTokenUpdate }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
383
+ function AuthWrapper({ children, skipInitialFetch }) {
384
+ return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
391
385
  }
392
386
 
393
387
  // src/auth/email/index.ts
@@ -489,18 +483,11 @@ var getGoogleGetRoute = ({
489
483
  const { data } = JSON.parse(localState);
490
484
  const id = await getUserIdFromEmail(user, data);
491
485
  if (id) {
492
- const accessToken = generateAccessToken(
493
- id,
494
- getEnv("SIGNING_KEY" /* SIGNING_KEY */)
495
- );
496
- const refreshToken = generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
497
486
  const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
498
- targetUrl.searchParams.set("accessToken", accessToken);
499
- targetUrl.searchParams.set("refreshToken", refreshToken);
500
487
  const res = NextResponse5.redirect(targetUrl);
501
488
  res.cookies.set(
502
489
  REFRESH_COOKIE_NAME,
503
- refreshToken,
490
+ generateRefreshToken(id),
504
491
  {
505
492
  httpOnly: true,
506
493
  secure: true
@@ -645,6 +632,7 @@ export {
645
632
  getContext,
646
633
  getRefreshToken,
647
634
  getRefreshedInstagramAccessToken,
635
+ getTokenizedResponse,
648
636
  setupEmailAuth,
649
637
  setupGoogleAuth,
650
638
  setupInstagramAuth
@@ -634,7 +634,6 @@ var import_server = require("next/server");
634
634
 
635
635
  // src/auth/constants.ts
636
636
  var REFRESH_COOKIE_NAME = "refresh";
637
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
638
637
 
639
638
  // src/utils/route.ts
640
639
  function getCorsHeaders(origin, allowedOrigins) {
@@ -642,7 +641,7 @@ function getCorsHeaders(origin, allowedOrigins) {
642
641
  return {
643
642
  "Access-Control-Allow-Origin": origin,
644
643
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
645
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
644
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
646
645
  "Access-Control-Allow-Credentials": "true"
647
646
  };
648
647
  }
@@ -619,7 +619,6 @@ import { NextResponse } from "next/server";
619
619
 
620
620
  // src/auth/constants.ts
621
621
  var REFRESH_COOKIE_NAME = "refresh";
622
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
623
622
 
624
623
  // src/utils/route.ts
625
624
  function getCorsHeaders(origin, allowedOrigins) {
@@ -627,7 +626,7 @@ function getCorsHeaders(origin, allowedOrigins) {
627
626
  return {
628
627
  "Access-Control-Allow-Origin": origin,
629
628
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
630
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
629
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
631
630
  "Access-Control-Allow-Credentials": "true"
632
631
  };
633
632
  }
@@ -85,7 +85,6 @@ var import_server = require("next/server");
85
85
 
86
86
  // src/auth/constants.ts
87
87
  var REFRESH_COOKIE_NAME = "refresh";
88
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
89
88
 
90
89
  // src/utils/route.ts
91
90
  function getCorsHeaders(origin, allowedOrigins) {
@@ -93,7 +92,7 @@ function getCorsHeaders(origin, allowedOrigins) {
93
92
  return {
94
93
  "Access-Control-Allow-Origin": origin,
95
94
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
96
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
95
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
97
96
  "Access-Control-Allow-Credentials": "true"
98
97
  };
99
98
  }
@@ -66,7 +66,6 @@ import { NextResponse } from "next/server";
66
66
 
67
67
  // src/auth/constants.ts
68
68
  var REFRESH_COOKIE_NAME = "refresh";
69
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
70
69
 
71
70
  // src/utils/route.ts
72
71
  function getCorsHeaders(origin, allowedOrigins) {
@@ -74,7 +73,7 @@ function getCorsHeaders(origin, allowedOrigins) {
74
73
  return {
75
74
  "Access-Control-Allow-Origin": origin,
76
75
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
77
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
76
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
78
77
  "Access-Control-Allow-Credentials": "true"
79
78
  };
80
79
  }
@@ -28,7 +28,6 @@ var import_server = require("next/server");
28
28
 
29
29
  // src/auth/constants.ts
30
30
  var REFRESH_COOKIE_NAME = "refresh";
31
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
32
31
 
33
32
  // src/utils/route.ts
34
33
  function getCorsHeaders(origin, allowedOrigins) {
@@ -36,7 +35,7 @@ function getCorsHeaders(origin, allowedOrigins) {
36
35
  return {
37
36
  "Access-Control-Allow-Origin": origin,
38
37
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
39
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
38
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
40
39
  "Access-Control-Allow-Credentials": "true"
41
40
  };
42
41
  }
@@ -3,7 +3,6 @@ import { NextResponse } from "next/server";
3
3
 
4
4
  // src/auth/constants.ts
5
5
  var REFRESH_COOKIE_NAME = "refresh";
6
- var REFRESH_HEADER_NAME = "X-Refresh-Token";
7
6
 
8
7
  // src/utils/route.ts
9
8
  function getCorsHeaders(origin, allowedOrigins) {
@@ -11,7 +10,7 @@ function getCorsHeaders(origin, allowedOrigins) {
11
10
  return {
12
11
  "Access-Control-Allow-Origin": origin,
13
12
  "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
14
- "Access-Control-Allow-Headers": `Content-Type, Authorization, ${REFRESH_HEADER_NAME}`,
13
+ "Access-Control-Allow-Headers": `Content-Type, Authorization`,
15
14
  "Access-Control-Allow-Credentials": "true"
16
15
  };
17
16
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "naystack",
3
- "version": "1.7.20",
3
+ "version": "1.7.24",
4
4
  "description": "A stack built with Next + GraphQL + S3 + Auth",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",