naystack 1.7.21 → 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.
- package/dist/auth/client.cjs.js +10 -24
- package/dist/auth/client.esm.js +10 -24
- package/dist/auth/email/client.cjs.js +10 -24
- package/dist/auth/email/client.d.mts +2 -4
- package/dist/auth/email/client.d.ts +2 -4
- package/dist/auth/email/client.esm.js +10 -24
- package/dist/auth/email/index.cjs.js +15 -22
- package/dist/auth/email/index.d.mts +3 -9
- package/dist/auth/email/index.d.ts +3 -9
- package/dist/auth/email/index.esm.js +14 -20
- package/dist/auth/email/next.cjs.js +2 -2
- package/dist/auth/email/next.d.mts +1 -1
- package/dist/auth/email/next.d.ts +1 -1
- package/dist/auth/email/next.esm.js +2 -2
- package/dist/auth/email/routes/delete.cjs.js +13 -4
- package/dist/auth/email/routes/delete.d.mts +1 -4
- package/dist/auth/email/routes/delete.d.ts +1 -4
- package/dist/auth/email/routes/delete.esm.js +13 -4
- package/dist/auth/email/routes/get.cjs.js +9 -6
- package/dist/auth/email/routes/get.d.mts +1 -4
- package/dist/auth/email/routes/get.d.ts +1 -4
- package/dist/auth/email/routes/get.esm.js +9 -6
- package/dist/auth/email/routes/post.cjs.js +6 -9
- package/dist/auth/email/routes/post.esm.js +6 -9
- package/dist/auth/email/routes/put.cjs.js +5 -5
- package/dist/auth/email/routes/put.esm.js +5 -5
- package/dist/auth/email/token.cjs.js +4 -3
- package/dist/auth/email/token.d.mts +2 -6
- package/dist/auth/email/token.d.ts +2 -6
- package/dist/auth/email/token.esm.js +4 -3
- package/dist/auth/google/get.cjs.js +1 -12
- package/dist/auth/google/get.esm.js +1 -12
- package/dist/auth/google/index.cjs.js +1 -12
- package/dist/auth/google/index.esm.js +1 -12
- package/dist/auth/index.cjs.js +16 -29
- package/dist/auth/index.d.mts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.esm.js +15 -27
- package/dist/graphql/index.cjs.js +1 -2
- package/dist/graphql/index.esm.js +1 -2
- package/dist/graphql/init.cjs.js +1 -2
- package/dist/graphql/init.esm.js +1 -2
- package/dist/utils/route.cjs.js +1 -2
- package/dist/utils/route.esm.js +1 -2
- package/package.json +1 -1
|
@@ -85,9 +85,18 @@ function getEnv(key, skipCheck) {
|
|
|
85
85
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
86
86
|
|
|
87
87
|
// src/auth/email/token.ts
|
|
88
|
-
function
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
function generateAccessToken(id) {
|
|
89
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
90
|
+
expiresIn: "2h"
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function generateRefreshToken(id) {
|
|
94
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
95
|
+
}
|
|
96
|
+
function getTokenizedResponse(id) {
|
|
97
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
98
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
99
|
+
const response = import_server.NextResponse.json(accessToken, {
|
|
91
100
|
status: 200
|
|
92
101
|
});
|
|
93
102
|
if (!accessToken) {
|
|
@@ -155,7 +164,7 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
155
164
|
const body = await req.json();
|
|
156
165
|
await options.onLogout?.(ctx.userId, body);
|
|
157
166
|
}
|
|
158
|
-
return getTokenizedResponse(
|
|
167
|
+
return getTokenizedResponse();
|
|
159
168
|
};
|
|
160
169
|
// Annotate the CommonJS export names for ESM import in node:
|
|
161
170
|
0 && (module.exports = {
|
|
@@ -8,9 +8,6 @@ import '../../types.mjs';
|
|
|
8
8
|
* @param options - SetupEmailAuthOptions
|
|
9
9
|
* @returns Async route handler
|
|
10
10
|
*/
|
|
11
|
-
declare const getDeleteRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<
|
|
12
|
-
accessToken: string | undefined;
|
|
13
|
-
refreshToken: string | undefined;
|
|
14
|
-
}>>;
|
|
11
|
+
declare const getDeleteRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<string | undefined>>;
|
|
15
12
|
|
|
16
13
|
export { getDeleteRoute };
|
|
@@ -8,9 +8,6 @@ import '../../types.js';
|
|
|
8
8
|
* @param options - SetupEmailAuthOptions
|
|
9
9
|
* @returns Async route handler
|
|
10
10
|
*/
|
|
11
|
-
declare const getDeleteRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<
|
|
12
|
-
accessToken: string | undefined;
|
|
13
|
-
refreshToken: string | undefined;
|
|
14
|
-
}>>;
|
|
11
|
+
declare const getDeleteRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<string | undefined>>;
|
|
15
12
|
|
|
16
13
|
export { getDeleteRoute };
|
|
@@ -59,9 +59,18 @@ function getEnv(key, skipCheck) {
|
|
|
59
59
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
60
60
|
|
|
61
61
|
// src/auth/email/token.ts
|
|
62
|
-
function
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
function generateAccessToken(id) {
|
|
63
|
+
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
64
|
+
expiresIn: "2h"
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function generateRefreshToken(id) {
|
|
68
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
69
|
+
}
|
|
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, {
|
|
65
74
|
status: 200
|
|
66
75
|
});
|
|
67
76
|
if (!accessToken) {
|
|
@@ -129,7 +138,7 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
129
138
|
const body = await req.json();
|
|
130
139
|
await options.onLogout?.(ctx.userId, body);
|
|
131
140
|
}
|
|
132
|
-
return getTokenizedResponse(
|
|
141
|
+
return getTokenizedResponse();
|
|
133
142
|
};
|
|
134
143
|
export {
|
|
135
144
|
getDeleteRoute
|
|
@@ -26,7 +26,6 @@ module.exports = __toCommonJS(get_exports);
|
|
|
26
26
|
|
|
27
27
|
// src/auth/constants.ts
|
|
28
28
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
29
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
30
29
|
|
|
31
30
|
// src/auth/email/token.ts
|
|
32
31
|
var import_bcryptjs = require("bcryptjs");
|
|
@@ -91,9 +90,13 @@ function generateAccessToken(id) {
|
|
|
91
90
|
expiresIn: "2h"
|
|
92
91
|
});
|
|
93
92
|
}
|
|
94
|
-
function
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
function generateRefreshToken(id) {
|
|
94
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
95
|
+
}
|
|
96
|
+
function getTokenizedResponse(id) {
|
|
97
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
98
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
99
|
+
const response = import_server.NextResponse.json(accessToken, {
|
|
97
100
|
status: 200
|
|
98
101
|
});
|
|
99
102
|
if (!accessToken) {
|
|
@@ -127,7 +130,7 @@ function getUserIdFromRefreshToken(refreshToken) {
|
|
|
127
130
|
|
|
128
131
|
// src/auth/email/routes/get.ts
|
|
129
132
|
var getGetRoute = (options) => async (req) => {
|
|
130
|
-
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value ||
|
|
133
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
|
|
131
134
|
const userID = getUserIdFromRefreshToken(refresh);
|
|
132
135
|
if (userID) {
|
|
133
136
|
if (options.onRefresh) {
|
|
@@ -135,7 +138,7 @@ var getGetRoute = (options) => async (req) => {
|
|
|
135
138
|
await options.onRefresh?.(userID, body);
|
|
136
139
|
}
|
|
137
140
|
return getTokenizedResponse(
|
|
138
|
-
|
|
141
|
+
userID
|
|
139
142
|
);
|
|
140
143
|
}
|
|
141
144
|
return getTokenizedResponse();
|
|
@@ -8,9 +8,6 @@ import '../../types.mjs';
|
|
|
8
8
|
* @param options - SetupEmailAuthOptions
|
|
9
9
|
* @returns Async route handler
|
|
10
10
|
*/
|
|
11
|
-
declare const getGetRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<
|
|
12
|
-
accessToken: string | undefined;
|
|
13
|
-
refreshToken: string | undefined;
|
|
14
|
-
}>>;
|
|
11
|
+
declare const getGetRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<string | undefined>>;
|
|
15
12
|
|
|
16
13
|
export { getGetRoute };
|
|
@@ -8,9 +8,6 @@ import '../../types.js';
|
|
|
8
8
|
* @param options - SetupEmailAuthOptions
|
|
9
9
|
* @returns Async route handler
|
|
10
10
|
*/
|
|
11
|
-
declare const getGetRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<
|
|
12
|
-
accessToken: string | undefined;
|
|
13
|
-
refreshToken: string | undefined;
|
|
14
|
-
}>>;
|
|
11
|
+
declare const getGetRoute: (options: SetupEmailAuthOptions) => (req: NextRequest) => Promise<next_server.NextResponse<string | undefined>>;
|
|
15
12
|
|
|
16
13
|
export { getGetRoute };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// src/auth/constants.ts
|
|
2
2
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
3
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
4
3
|
|
|
5
4
|
// src/auth/email/token.ts
|
|
6
5
|
import { compare } from "bcryptjs";
|
|
@@ -65,9 +64,13 @@ function generateAccessToken(id) {
|
|
|
65
64
|
expiresIn: "2h"
|
|
66
65
|
});
|
|
67
66
|
}
|
|
68
|
-
function
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
function generateRefreshToken(id) {
|
|
68
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
69
|
+
}
|
|
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, {
|
|
71
74
|
status: 200
|
|
72
75
|
});
|
|
73
76
|
if (!accessToken) {
|
|
@@ -101,7 +104,7 @@ function getUserIdFromRefreshToken(refreshToken) {
|
|
|
101
104
|
|
|
102
105
|
// src/auth/email/routes/get.ts
|
|
103
106
|
var getGetRoute = (options) => async (req) => {
|
|
104
|
-
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value ||
|
|
107
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
|
|
105
108
|
const userID = getUserIdFromRefreshToken(refresh);
|
|
106
109
|
if (userID) {
|
|
107
110
|
if (options.onRefresh) {
|
|
@@ -109,7 +112,7 @@ var getGetRoute = (options) => async (req) => {
|
|
|
109
112
|
await options.onRefresh?.(userID, body);
|
|
110
113
|
}
|
|
111
114
|
return getTokenizedResponse(
|
|
112
|
-
|
|
115
|
+
userID
|
|
113
116
|
);
|
|
114
117
|
}
|
|
115
118
|
return getTokenizedResponse();
|
|
@@ -102,9 +102,10 @@ function generateAccessToken(id) {
|
|
|
102
102
|
function generateRefreshToken(id) {
|
|
103
103
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
104
104
|
}
|
|
105
|
-
function getTokenizedResponse(
|
|
106
|
-
const
|
|
107
|
-
const
|
|
105
|
+
function getTokenizedResponse(id) {
|
|
106
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
107
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
108
|
+
const response = import_server2.NextResponse.json(accessToken, {
|
|
108
109
|
status: 200
|
|
109
110
|
});
|
|
110
111
|
if (!accessToken) {
|
|
@@ -184,10 +185,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
184
185
|
if (existingUser) {
|
|
185
186
|
if (await verifyUser(existingUser, data.password)) {
|
|
186
187
|
return getTokenizedResponse(
|
|
187
|
-
|
|
188
|
-
generateRefreshToken(
|
|
189
|
-
existingUser.id
|
|
190
|
-
)
|
|
188
|
+
existingUser.id
|
|
191
189
|
);
|
|
192
190
|
}
|
|
193
191
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -202,8 +200,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
202
200
|
await options.onSignUp?.(newUser.id, data);
|
|
203
201
|
}
|
|
204
202
|
return getTokenizedResponse(
|
|
205
|
-
|
|
206
|
-
generateRefreshToken(newUser.id)
|
|
203
|
+
newUser.id
|
|
207
204
|
);
|
|
208
205
|
}
|
|
209
206
|
return getTokenizedResponse();
|
|
@@ -78,9 +78,10 @@ function generateAccessToken(id) {
|
|
|
78
78
|
function generateRefreshToken(id) {
|
|
79
79
|
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
80
80
|
}
|
|
81
|
-
function getTokenizedResponse(
|
|
82
|
-
const
|
|
83
|
-
const
|
|
81
|
+
function getTokenizedResponse(id) {
|
|
82
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
83
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
84
|
+
const response = NextResponse2.json(accessToken, {
|
|
84
85
|
status: 200
|
|
85
86
|
});
|
|
86
87
|
if (!accessToken) {
|
|
@@ -160,10 +161,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
160
161
|
if (existingUser) {
|
|
161
162
|
if (await verifyUser(existingUser, data.password)) {
|
|
162
163
|
return getTokenizedResponse(
|
|
163
|
-
|
|
164
|
-
generateRefreshToken(
|
|
165
|
-
existingUser.id
|
|
166
|
-
)
|
|
164
|
+
existingUser.id
|
|
167
165
|
);
|
|
168
166
|
}
|
|
169
167
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -178,8 +176,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
178
176
|
await options.onSignUp?.(newUser.id, data);
|
|
179
177
|
}
|
|
180
178
|
return getTokenizedResponse(
|
|
181
|
-
|
|
182
|
-
generateRefreshToken(newUser.id)
|
|
179
|
+
newUser.id
|
|
183
180
|
);
|
|
184
181
|
}
|
|
185
182
|
return getTokenizedResponse();
|
|
@@ -101,9 +101,10 @@ function generateAccessToken(id) {
|
|
|
101
101
|
function generateRefreshToken(id) {
|
|
102
102
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
103
103
|
}
|
|
104
|
-
function getTokenizedResponse(
|
|
105
|
-
const
|
|
106
|
-
const
|
|
104
|
+
function getTokenizedResponse(id) {
|
|
105
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
106
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
107
|
+
const response = import_server2.NextResponse.json(accessToken, {
|
|
107
108
|
status: 200
|
|
108
109
|
});
|
|
109
110
|
if (!accessToken) {
|
|
@@ -187,8 +188,7 @@ var getPutRoute = (options) => async (req) => {
|
|
|
187
188
|
await options.onLogin?.(user.id, data);
|
|
188
189
|
}
|
|
189
190
|
return getTokenizedResponse(
|
|
190
|
-
|
|
191
|
-
generateRefreshToken(user.id)
|
|
191
|
+
user.id
|
|
192
192
|
);
|
|
193
193
|
}
|
|
194
194
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -75,9 +75,10 @@ function generateAccessToken(id) {
|
|
|
75
75
|
function generateRefreshToken(id) {
|
|
76
76
|
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
77
77
|
}
|
|
78
|
-
function getTokenizedResponse(
|
|
79
|
-
const
|
|
80
|
-
const
|
|
78
|
+
function getTokenizedResponse(id) {
|
|
79
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
80
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
81
|
+
const response = NextResponse2.json(accessToken, {
|
|
81
82
|
status: 200
|
|
82
83
|
});
|
|
83
84
|
if (!accessToken) {
|
|
@@ -161,8 +162,7 @@ var getPutRoute = (options) => async (req) => {
|
|
|
161
162
|
await options.onLogin?.(user.id, data);
|
|
162
163
|
}
|
|
163
164
|
return getTokenizedResponse(
|
|
164
|
-
|
|
165
|
-
generateRefreshToken(user.id)
|
|
165
|
+
user.id
|
|
166
166
|
);
|
|
167
167
|
}
|
|
168
168
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -97,9 +97,10 @@ function generateAccessToken(id) {
|
|
|
97
97
|
function generateRefreshToken(id) {
|
|
98
98
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
99
99
|
}
|
|
100
|
-
function getTokenizedResponse(
|
|
101
|
-
const
|
|
102
|
-
const
|
|
100
|
+
function getTokenizedResponse(id) {
|
|
101
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
102
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
103
|
+
const response = import_server.NextResponse.json(accessToken, {
|
|
103
104
|
status: 200
|
|
104
105
|
});
|
|
105
106
|
if (!accessToken) {
|
|
@@ -22,15 +22,11 @@ declare function generateRefreshToken(id: number): string;
|
|
|
22
22
|
* - If `refreshToken` is empty string, the cookie expires immediately (logout).
|
|
23
23
|
* - If `refreshToken` is a valid string, the cookie is set for 1 year.
|
|
24
24
|
*
|
|
25
|
-
* @param
|
|
26
|
-
* @param refreshToken - Optional refresh JWT to set as httpOnly cookie. Empty string clears the cookie.
|
|
25
|
+
* @param id - Optional user id.
|
|
27
26
|
* @returns NextResponse with JSON body and Set-Cookie headers.
|
|
28
27
|
* @category Auth
|
|
29
28
|
*/
|
|
30
|
-
declare function getTokenizedResponse(
|
|
31
|
-
accessToken: string | undefined;
|
|
32
|
-
refreshToken: string | undefined;
|
|
33
|
-
}>;
|
|
29
|
+
declare function getTokenizedResponse(id?: number): NextResponse<string | undefined>;
|
|
34
30
|
/**
|
|
35
31
|
* Decodes a refresh token and returns the user id from the JWT payload.
|
|
36
32
|
* @param refreshToken - JWT refresh token string.
|
|
@@ -22,15 +22,11 @@ declare function generateRefreshToken(id: number): string;
|
|
|
22
22
|
* - If `refreshToken` is empty string, the cookie expires immediately (logout).
|
|
23
23
|
* - If `refreshToken` is a valid string, the cookie is set for 1 year.
|
|
24
24
|
*
|
|
25
|
-
* @param
|
|
26
|
-
* @param refreshToken - Optional refresh JWT to set as httpOnly cookie. Empty string clears the cookie.
|
|
25
|
+
* @param id - Optional user id.
|
|
27
26
|
* @returns NextResponse with JSON body and Set-Cookie headers.
|
|
28
27
|
* @category Auth
|
|
29
28
|
*/
|
|
30
|
-
declare function getTokenizedResponse(
|
|
31
|
-
accessToken: string | undefined;
|
|
32
|
-
refreshToken: string | undefined;
|
|
33
|
-
}>;
|
|
29
|
+
declare function getTokenizedResponse(id?: number): NextResponse<string | undefined>;
|
|
34
30
|
/**
|
|
35
31
|
* Decodes a refresh token and returns the user id from the JWT payload.
|
|
36
32
|
* @param refreshToken - JWT refresh token string.
|
|
@@ -67,9 +67,10 @@ function generateAccessToken(id) {
|
|
|
67
67
|
function generateRefreshToken(id) {
|
|
68
68
|
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
69
69
|
}
|
|
70
|
-
function getTokenizedResponse(
|
|
71
|
-
const
|
|
72
|
-
const
|
|
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,11 +88,6 @@ function getEnv(key, skipCheck) {
|
|
|
88
88
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
89
89
|
|
|
90
90
|
// src/auth/email/token.ts
|
|
91
|
-
function generateAccessToken(id) {
|
|
92
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
93
|
-
expiresIn: "2h"
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
91
|
function generateRefreshToken(id) {
|
|
97
92
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
98
93
|
}
|
|
@@ -170,17 +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
|
-
);
|
|
176
|
-
const refreshToken = generateRefreshToken(id);
|
|
177
168
|
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
178
|
-
targetUrl.searchParams.set("accessToken", accessToken);
|
|
179
|
-
targetUrl.searchParams.set("refreshToken", refreshToken);
|
|
180
169
|
const res = import_server2.NextResponse.redirect(targetUrl);
|
|
181
170
|
res.cookies.set(
|
|
182
171
|
REFRESH_COOKIE_NAME,
|
|
183
|
-
|
|
172
|
+
generateRefreshToken(id),
|
|
184
173
|
{
|
|
185
174
|
httpOnly: true,
|
|
186
175
|
secure: true
|
|
@@ -64,11 +64,6 @@ function getEnv(key, skipCheck) {
|
|
|
64
64
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
65
65
|
|
|
66
66
|
// src/auth/email/token.ts
|
|
67
|
-
function generateAccessToken(id) {
|
|
68
|
-
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
69
|
-
expiresIn: "2h"
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
67
|
function generateRefreshToken(id) {
|
|
73
68
|
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
74
69
|
}
|
|
@@ -146,17 +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
|
-
);
|
|
152
|
-
const refreshToken = generateRefreshToken(id);
|
|
153
144
|
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
154
|
-
targetUrl.searchParams.set("accessToken", accessToken);
|
|
155
|
-
targetUrl.searchParams.set("refreshToken", refreshToken);
|
|
156
145
|
const res = NextResponse2.redirect(targetUrl);
|
|
157
146
|
res.cookies.set(
|
|
158
147
|
REFRESH_COOKIE_NAME,
|
|
159
|
-
|
|
148
|
+
generateRefreshToken(id),
|
|
160
149
|
{
|
|
161
150
|
httpOnly: true,
|
|
162
151
|
secure: true
|
|
@@ -90,11 +90,6 @@ function getEnv(key, skipCheck) {
|
|
|
90
90
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
91
91
|
|
|
92
92
|
// src/auth/email/token.ts
|
|
93
|
-
function generateAccessToken(id) {
|
|
94
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
95
|
-
expiresIn: "2h"
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
93
|
function generateRefreshToken(id) {
|
|
99
94
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
100
95
|
}
|
|
@@ -172,17 +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
|
-
);
|
|
178
|
-
const refreshToken = generateRefreshToken(id);
|
|
179
170
|
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
180
|
-
targetUrl.searchParams.set("accessToken", accessToken);
|
|
181
|
-
targetUrl.searchParams.set("refreshToken", refreshToken);
|
|
182
171
|
const res = import_server2.NextResponse.redirect(targetUrl);
|
|
183
172
|
res.cookies.set(
|
|
184
173
|
REFRESH_COOKIE_NAME,
|
|
185
|
-
|
|
174
|
+
generateRefreshToken(id),
|
|
186
175
|
{
|
|
187
176
|
httpOnly: true,
|
|
188
177
|
secure: true
|
|
@@ -64,11 +64,6 @@ function getEnv(key, skipCheck) {
|
|
|
64
64
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
65
65
|
|
|
66
66
|
// src/auth/email/token.ts
|
|
67
|
-
function generateAccessToken(id) {
|
|
68
|
-
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
69
|
-
expiresIn: "2h"
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
67
|
function generateRefreshToken(id) {
|
|
73
68
|
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
74
69
|
}
|
|
@@ -146,17 +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
|
-
);
|
|
152
|
-
const refreshToken = generateRefreshToken(id);
|
|
153
144
|
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
154
|
-
targetUrl.searchParams.set("accessToken", accessToken);
|
|
155
|
-
targetUrl.searchParams.set("refreshToken", refreshToken);
|
|
156
145
|
const res = NextResponse2.redirect(targetUrl);
|
|
157
146
|
res.cookies.set(
|
|
158
147
|
REFRESH_COOKIE_NAME,
|
|
159
|
-
|
|
148
|
+
generateRefreshToken(id),
|
|
160
149
|
{
|
|
161
150
|
httpOnly: true,
|
|
162
151
|
secure: true
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -33,11 +33,10 @@ __export(auth_exports, {
|
|
|
33
33
|
AuthFetch: () => AuthFetch,
|
|
34
34
|
AuthWrapper: () => AuthWrapper,
|
|
35
35
|
checkAuthStatus: () => checkAuthStatus,
|
|
36
|
-
generateAccessToken: () => generateAccessToken,
|
|
37
|
-
generateRefreshToken: () => generateRefreshToken,
|
|
38
36
|
getContext: () => getContext,
|
|
39
37
|
getRefreshToken: () => getRefreshToken,
|
|
40
38
|
getRefreshedInstagramAccessToken: () => getRefreshedInstagramAccessToken,
|
|
39
|
+
getTokenizedResponse: () => getTokenizedResponse,
|
|
41
40
|
setupEmailAuth: () => setupEmailAuth,
|
|
42
41
|
setupGoogleAuth: () => setupGoogleAuth,
|
|
43
42
|
setupInstagramAuth: () => setupInstagramAuth
|
|
@@ -52,7 +51,6 @@ var import_server = require("next/server");
|
|
|
52
51
|
|
|
53
52
|
// src/auth/constants.ts
|
|
54
53
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
55
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
56
54
|
|
|
57
55
|
// src/utils/route.ts
|
|
58
56
|
function getCorsHeaders(origin, allowedOrigins) {
|
|
@@ -60,7 +58,7 @@ function getCorsHeaders(origin, allowedOrigins) {
|
|
|
60
58
|
return {
|
|
61
59
|
"Access-Control-Allow-Origin": origin,
|
|
62
60
|
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
|
|
63
|
-
"Access-Control-Allow-Headers": `Content-Type, Authorization
|
|
61
|
+
"Access-Control-Allow-Headers": `Content-Type, Authorization`,
|
|
64
62
|
"Access-Control-Allow-Credentials": "true"
|
|
65
63
|
};
|
|
66
64
|
}
|
|
@@ -157,9 +155,10 @@ function generateAccessToken(id) {
|
|
|
157
155
|
function generateRefreshToken(id) {
|
|
158
156
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
159
157
|
}
|
|
160
|
-
function getTokenizedResponse(
|
|
161
|
-
const
|
|
162
|
-
const
|
|
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, {
|
|
163
162
|
status: 200
|
|
164
163
|
});
|
|
165
164
|
if (!accessToken) {
|
|
@@ -300,12 +299,12 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
300
299
|
const body = await req.json();
|
|
301
300
|
await options.onLogout?.(ctx.userId, body);
|
|
302
301
|
}
|
|
303
|
-
return getTokenizedResponse(
|
|
302
|
+
return getTokenizedResponse();
|
|
304
303
|
};
|
|
305
304
|
|
|
306
305
|
// src/auth/email/routes/get.ts
|
|
307
306
|
var getGetRoute = (options) => async (req) => {
|
|
308
|
-
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value ||
|
|
307
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
|
|
309
308
|
const userID = getUserIdFromRefreshToken(refresh);
|
|
310
309
|
if (userID) {
|
|
311
310
|
if (options.onRefresh) {
|
|
@@ -313,7 +312,7 @@ var getGetRoute = (options) => async (req) => {
|
|
|
313
312
|
await options.onRefresh?.(userID, body);
|
|
314
313
|
}
|
|
315
314
|
return getTokenizedResponse(
|
|
316
|
-
|
|
315
|
+
userID
|
|
317
316
|
);
|
|
318
317
|
}
|
|
319
318
|
return getTokenizedResponse();
|
|
@@ -328,10 +327,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
328
327
|
if (existingUser) {
|
|
329
328
|
if (await verifyUser(existingUser, data.password)) {
|
|
330
329
|
return getTokenizedResponse(
|
|
331
|
-
|
|
332
|
-
generateRefreshToken(
|
|
333
|
-
existingUser.id
|
|
334
|
-
)
|
|
330
|
+
existingUser.id
|
|
335
331
|
);
|
|
336
332
|
}
|
|
337
333
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -346,8 +342,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
346
342
|
await options.onSignUp?.(newUser.id, data);
|
|
347
343
|
}
|
|
348
344
|
return getTokenizedResponse(
|
|
349
|
-
|
|
350
|
-
generateRefreshToken(newUser.id)
|
|
345
|
+
newUser.id
|
|
351
346
|
);
|
|
352
347
|
}
|
|
353
348
|
return getTokenizedResponse();
|
|
@@ -365,8 +360,7 @@ var getPutRoute = (options) => async (req) => {
|
|
|
365
360
|
await options.onLogin?.(user.id, data);
|
|
366
361
|
}
|
|
367
362
|
return getTokenizedResponse(
|
|
368
|
-
|
|
369
|
-
generateRefreshToken(user.id)
|
|
363
|
+
user.id
|
|
370
364
|
);
|
|
371
365
|
}
|
|
372
366
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -427,8 +421,8 @@ function AuthFetch() {
|
|
|
427
421
|
}
|
|
428
422
|
);
|
|
429
423
|
}
|
|
430
|
-
function AuthWrapper({ children,
|
|
431
|
-
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true
|
|
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));
|
|
432
426
|
}
|
|
433
427
|
|
|
434
428
|
// src/auth/email/index.ts
|
|
@@ -530,17 +524,11 @@ var getGoogleGetRoute = ({
|
|
|
530
524
|
const { data } = JSON.parse(localState);
|
|
531
525
|
const id = await getUserIdFromEmail(user, data);
|
|
532
526
|
if (id) {
|
|
533
|
-
const accessToken = generateAccessToken(
|
|
534
|
-
id
|
|
535
|
-
);
|
|
536
|
-
const refreshToken = generateRefreshToken(id);
|
|
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
|
-
|
|
531
|
+
generateRefreshToken(id),
|
|
544
532
|
{
|
|
545
533
|
httpOnly: true,
|
|
546
534
|
secure: true
|
|
@@ -683,11 +671,10 @@ async function getRefreshToken() {
|
|
|
683
671
|
AuthFetch,
|
|
684
672
|
AuthWrapper,
|
|
685
673
|
checkAuthStatus,
|
|
686
|
-
generateAccessToken,
|
|
687
|
-
generateRefreshToken,
|
|
688
674
|
getContext,
|
|
689
675
|
getRefreshToken,
|
|
690
676
|
getRefreshedInstagramAccessToken,
|
|
677
|
+
getTokenizedResponse,
|
|
691
678
|
setupEmailAuth,
|
|
692
679
|
setupGoogleAuth,
|
|
693
680
|
setupInstagramAuth
|