naystack 1.7.7 → 1.7.10
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 +1 -1
- package/dist/auth/client.esm.js +1 -1
- package/dist/auth/email/client.cjs.js +1 -1
- package/dist/auth/email/client.d.mts +1 -1
- package/dist/auth/email/client.d.ts +1 -1
- package/dist/auth/email/client.esm.js +1 -1
- package/dist/auth/email/index.cjs.js +11 -2
- package/dist/auth/email/index.esm.js +11 -2
- package/dist/auth/email/routes/delete.cjs.js +2 -2
- package/dist/auth/email/routes/delete.esm.js +2 -2
- 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 +2 -2
- package/dist/auth/email/routes/post.esm.js +2 -2
- package/dist/auth/email/routes/put.cjs.js +2 -2
- package/dist/auth/email/routes/put.esm.js +2 -2
- package/dist/auth/email/token.cjs.js +2 -2
- package/dist/auth/email/token.esm.js +2 -2
- package/dist/auth/google/get.cjs.js +36 -7
- package/dist/auth/google/get.esm.js +36 -7
- package/dist/auth/google/index.cjs.js +36 -7
- package/dist/auth/google/index.esm.js +36 -7
- package/dist/auth/index.cjs.js +42 -9
- package/dist/auth/index.esm.js +42 -9
- package/dist/graphql/index.cjs.js +9 -0
- package/dist/graphql/index.esm.js +9 -0
- package/dist/graphql/init.cjs.js +9 -0
- package/dist/graphql/init.esm.js +9 -0
- package/dist/utils/route.cjs.js +10 -0
- package/dist/utils/route.esm.js +10 -0
- package/package.json +1 -1
package/dist/auth/client.cjs.js
CHANGED
|
@@ -123,7 +123,7 @@ function AuthChildComponent({ getRefreshToken }) {
|
|
|
123
123
|
useAuthFetch({ getRefreshToken });
|
|
124
124
|
return null;
|
|
125
125
|
}
|
|
126
|
-
function useAuthFetch({ getRefreshToken, skip }) {
|
|
126
|
+
function useAuthFetch({ getRefreshToken, skip } = {}) {
|
|
127
127
|
const setToken = useSetToken();
|
|
128
128
|
const fetchToken = async () => {
|
|
129
129
|
const token = getRefreshToken ? await getRefreshToken() : null;
|
package/dist/auth/client.esm.js
CHANGED
|
@@ -85,7 +85,7 @@ function AuthChildComponent({ getRefreshToken }) {
|
|
|
85
85
|
useAuthFetch({ getRefreshToken });
|
|
86
86
|
return null;
|
|
87
87
|
}
|
|
88
|
-
function useAuthFetch({ getRefreshToken, skip }) {
|
|
88
|
+
function useAuthFetch({ getRefreshToken, skip } = {}) {
|
|
89
89
|
const setToken = useSetToken();
|
|
90
90
|
const fetchToken = async () => {
|
|
91
91
|
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
@@ -120,7 +120,7 @@ function AuthChildComponent({ getRefreshToken }) {
|
|
|
120
120
|
useAuthFetch({ getRefreshToken });
|
|
121
121
|
return null;
|
|
122
122
|
}
|
|
123
|
-
function useAuthFetch({ getRefreshToken, skip }) {
|
|
123
|
+
function useAuthFetch({ getRefreshToken, skip } = {}) {
|
|
124
124
|
const setToken = useSetToken();
|
|
125
125
|
const fetchToken = async () => {
|
|
126
126
|
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
@@ -54,7 +54,7 @@ declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInit
|
|
|
54
54
|
*
|
|
55
55
|
* @category Auth
|
|
56
56
|
*/
|
|
57
|
-
declare function useAuthFetch({ getRefreshToken, skip }
|
|
57
|
+
declare function useAuthFetch({ getRefreshToken, skip }?: {
|
|
58
58
|
getRefreshToken?: () => Promise<string | null>;
|
|
59
59
|
skip?: boolean;
|
|
60
60
|
}): void;
|
|
@@ -54,7 +54,7 @@ declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInit
|
|
|
54
54
|
*
|
|
55
55
|
* @category Auth
|
|
56
56
|
*/
|
|
57
|
-
declare function useAuthFetch({ getRefreshToken, skip }
|
|
57
|
+
declare function useAuthFetch({ getRefreshToken, skip }?: {
|
|
58
58
|
getRefreshToken?: () => Promise<string | null>;
|
|
59
59
|
skip?: boolean;
|
|
60
60
|
}): void;
|
|
@@ -85,7 +85,7 @@ function AuthChildComponent({ getRefreshToken }) {
|
|
|
85
85
|
useAuthFetch({ getRefreshToken });
|
|
86
86
|
return null;
|
|
87
87
|
}
|
|
88
|
-
function useAuthFetch({ getRefreshToken, skip }) {
|
|
88
|
+
function useAuthFetch({ getRefreshToken, skip } = {}) {
|
|
89
89
|
const setToken = useSetToken();
|
|
90
90
|
const fetchToken = async () => {
|
|
91
91
|
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
@@ -70,6 +70,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
70
70
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
71
71
|
response.headers.set(key, value);
|
|
72
72
|
});
|
|
73
|
+
if (response instanceof import_server.NextResponse) {
|
|
74
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
75
|
+
if (refreshCookie) {
|
|
76
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
77
|
+
...refreshCookie,
|
|
78
|
+
sameSite: "none"
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
73
82
|
return response;
|
|
74
83
|
});
|
|
75
84
|
}
|
|
@@ -147,14 +156,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
147
156
|
});
|
|
148
157
|
if (!accessToken) {
|
|
149
158
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
150
|
-
secure:
|
|
159
|
+
secure: true,
|
|
151
160
|
httpOnly: true,
|
|
152
161
|
expires: 0
|
|
153
162
|
});
|
|
154
163
|
}
|
|
155
164
|
if (refreshToken !== void 0) {
|
|
156
165
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
157
|
-
secure:
|
|
166
|
+
secure: true,
|
|
158
167
|
httpOnly: true,
|
|
159
168
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
160
169
|
});
|
|
@@ -32,6 +32,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
32
32
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
33
33
|
response.headers.set(key, value);
|
|
34
34
|
});
|
|
35
|
+
if (response instanceof NextResponse) {
|
|
36
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
37
|
+
if (refreshCookie) {
|
|
38
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
39
|
+
...refreshCookie,
|
|
40
|
+
sameSite: "none"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
35
44
|
return response;
|
|
36
45
|
});
|
|
37
46
|
}
|
|
@@ -109,14 +118,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
109
118
|
});
|
|
110
119
|
if (!accessToken) {
|
|
111
120
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
112
|
-
secure:
|
|
121
|
+
secure: true,
|
|
113
122
|
httpOnly: true,
|
|
114
123
|
expires: 0
|
|
115
124
|
});
|
|
116
125
|
}
|
|
117
126
|
if (refreshToken !== void 0) {
|
|
118
127
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
119
|
-
secure:
|
|
128
|
+
secure: true,
|
|
120
129
|
httpOnly: true,
|
|
121
130
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
122
131
|
});
|
|
@@ -92,14 +92,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
92
92
|
});
|
|
93
93
|
if (!accessToken) {
|
|
94
94
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
95
|
-
secure:
|
|
95
|
+
secure: true,
|
|
96
96
|
httpOnly: true,
|
|
97
97
|
expires: 0
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
if (refreshToken !== void 0) {
|
|
101
101
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
102
|
-
secure:
|
|
102
|
+
secure: true,
|
|
103
103
|
httpOnly: true,
|
|
104
104
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
105
105
|
});
|
|
@@ -66,14 +66,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
66
66
|
});
|
|
67
67
|
if (!accessToken) {
|
|
68
68
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
69
|
-
secure:
|
|
69
|
+
secure: true,
|
|
70
70
|
httpOnly: true,
|
|
71
71
|
expires: 0
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
if (refreshToken !== void 0) {
|
|
75
75
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
76
|
-
secure:
|
|
76
|
+
secure: true,
|
|
77
77
|
httpOnly: true,
|
|
78
78
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
79
79
|
});
|
|
@@ -96,14 +96,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
96
96
|
});
|
|
97
97
|
if (!accessToken) {
|
|
98
98
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
99
|
-
secure:
|
|
99
|
+
secure: true,
|
|
100
100
|
httpOnly: true,
|
|
101
101
|
expires: 0
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
if (refreshToken !== void 0) {
|
|
105
105
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
106
|
-
secure:
|
|
106
|
+
secure: true,
|
|
107
107
|
httpOnly: true,
|
|
108
108
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
109
109
|
});
|
|
@@ -70,14 +70,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
70
70
|
});
|
|
71
71
|
if (!accessToken) {
|
|
72
72
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
73
|
-
secure:
|
|
73
|
+
secure: true,
|
|
74
74
|
httpOnly: true,
|
|
75
75
|
expires: 0
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
if (refreshToken !== void 0) {
|
|
79
79
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
80
|
-
secure:
|
|
80
|
+
secure: true,
|
|
81
81
|
httpOnly: true,
|
|
82
82
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
83
83
|
});
|
|
@@ -109,14 +109,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
109
109
|
});
|
|
110
110
|
if (!accessToken) {
|
|
111
111
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
112
|
-
secure:
|
|
112
|
+
secure: true,
|
|
113
113
|
httpOnly: true,
|
|
114
114
|
expires: 0
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
if (refreshToken !== void 0) {
|
|
118
118
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
119
|
-
secure:
|
|
119
|
+
secure: true,
|
|
120
120
|
httpOnly: true,
|
|
121
121
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
122
122
|
});
|
|
@@ -85,14 +85,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
85
85
|
});
|
|
86
86
|
if (!accessToken) {
|
|
87
87
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
88
|
-
secure:
|
|
88
|
+
secure: true,
|
|
89
89
|
httpOnly: true,
|
|
90
90
|
expires: 0
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
if (refreshToken !== void 0) {
|
|
94
94
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
95
|
-
secure:
|
|
95
|
+
secure: true,
|
|
96
96
|
httpOnly: true,
|
|
97
97
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
98
98
|
});
|
|
@@ -108,14 +108,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
108
108
|
});
|
|
109
109
|
if (!accessToken) {
|
|
110
110
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
111
|
-
secure:
|
|
111
|
+
secure: true,
|
|
112
112
|
httpOnly: true,
|
|
113
113
|
expires: 0
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
116
|
if (refreshToken !== void 0) {
|
|
117
117
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
118
|
-
secure:
|
|
118
|
+
secure: true,
|
|
119
119
|
httpOnly: true,
|
|
120
120
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
121
121
|
});
|
|
@@ -82,14 +82,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
82
82
|
});
|
|
83
83
|
if (!accessToken) {
|
|
84
84
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
85
|
-
secure:
|
|
85
|
+
secure: true,
|
|
86
86
|
httpOnly: true,
|
|
87
87
|
expires: 0
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
if (refreshToken !== void 0) {
|
|
91
91
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
92
|
-
secure:
|
|
92
|
+
secure: true,
|
|
93
93
|
httpOnly: true,
|
|
94
94
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
95
95
|
});
|
|
@@ -104,14 +104,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
104
104
|
});
|
|
105
105
|
if (!accessToken) {
|
|
106
106
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
107
|
-
secure:
|
|
107
|
+
secure: true,
|
|
108
108
|
httpOnly: true,
|
|
109
109
|
expires: 0
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
if (refreshToken !== void 0) {
|
|
113
113
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
114
|
-
secure:
|
|
114
|
+
secure: true,
|
|
115
115
|
httpOnly: true,
|
|
116
116
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
117
117
|
});
|
|
@@ -74,14 +74,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
74
74
|
});
|
|
75
75
|
if (!accessToken) {
|
|
76
76
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
77
|
-
secure:
|
|
77
|
+
secure: true,
|
|
78
78
|
httpOnly: true,
|
|
79
79
|
expires: 0
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
if (refreshToken !== void 0) {
|
|
83
83
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
84
|
-
secure:
|
|
84
|
+
secure: true,
|
|
85
85
|
httpOnly: true,
|
|
86
86
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
87
87
|
});
|
|
@@ -88,6 +88,11 @@ 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
|
+
}
|
|
91
96
|
function generateRefreshToken(id, refreshKey) {
|
|
92
97
|
return (0, import_jsonwebtoken.sign)({ id }, refreshKey);
|
|
93
98
|
}
|
|
@@ -109,7 +114,14 @@ var getGoogleGetRoute = ({
|
|
|
109
114
|
const error = req.nextUrl.searchParams.get("error");
|
|
110
115
|
if (!code && !error) {
|
|
111
116
|
const data = req.nextUrl.searchParams.get("data");
|
|
112
|
-
const
|
|
117
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
118
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
119
|
+
const stateData = {
|
|
120
|
+
data,
|
|
121
|
+
id: (0, import_uuid.v4)(),
|
|
122
|
+
redirectURL: requestRedirectURL,
|
|
123
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
124
|
+
};
|
|
113
125
|
const state2 = JSON.stringify(stateData);
|
|
114
126
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
115
127
|
scope: [
|
|
@@ -128,14 +140,25 @@ var getGoogleGetRoute = ({
|
|
|
128
140
|
});
|
|
129
141
|
return res;
|
|
130
142
|
}
|
|
131
|
-
const
|
|
143
|
+
const localState = req.cookies.get("state")?.value;
|
|
144
|
+
let stateRedirectURL;
|
|
145
|
+
let stateErrorRedirectURL;
|
|
146
|
+
if (localState) {
|
|
147
|
+
try {
|
|
148
|
+
const parsed = JSON.parse(localState);
|
|
149
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
150
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
151
|
+
} catch {
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
155
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
132
156
|
if (error) {
|
|
133
|
-
return import_server2.NextResponse.redirect(
|
|
157
|
+
return import_server2.NextResponse.redirect(finalErrorURL);
|
|
134
158
|
}
|
|
135
159
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
136
160
|
if (code && state) {
|
|
137
|
-
|
|
138
|
-
if (localState !== state) return import_server2.NextResponse.redirect(errorURL);
|
|
161
|
+
if (localState !== state) return import_server2.NextResponse.redirect(finalErrorURL);
|
|
139
162
|
const { tokens } = await oauth2Client.getToken(code);
|
|
140
163
|
oauth2Client.setCredentials(tokens);
|
|
141
164
|
const userInfoRequest = await import_googleapis.google.oauth2({
|
|
@@ -147,7 +170,13 @@ var getGoogleGetRoute = ({
|
|
|
147
170
|
const { data } = JSON.parse(localState);
|
|
148
171
|
const id = await getUserIdFromEmail(user, data);
|
|
149
172
|
if (id) {
|
|
150
|
-
const
|
|
173
|
+
const accessToken = generateAccessToken(
|
|
174
|
+
id,
|
|
175
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
176
|
+
);
|
|
177
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
178
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
179
|
+
const res = import_server2.NextResponse.redirect(targetUrl);
|
|
151
180
|
res.cookies.set(
|
|
152
181
|
REFRESH_COOKIE_NAME,
|
|
153
182
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -165,7 +194,7 @@ var getGoogleGetRoute = ({
|
|
|
165
194
|
}
|
|
166
195
|
}
|
|
167
196
|
}
|
|
168
|
-
return import_server2.NextResponse.redirect(
|
|
197
|
+
return import_server2.NextResponse.redirect(finalErrorURL);
|
|
169
198
|
};
|
|
170
199
|
};
|
|
171
200
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -64,6 +64,11 @@ 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
|
+
}
|
|
67
72
|
function generateRefreshToken(id, refreshKey) {
|
|
68
73
|
return sign({ id }, refreshKey);
|
|
69
74
|
}
|
|
@@ -85,7 +90,14 @@ var getGoogleGetRoute = ({
|
|
|
85
90
|
const error = req.nextUrl.searchParams.get("error");
|
|
86
91
|
if (!code && !error) {
|
|
87
92
|
const data = req.nextUrl.searchParams.get("data");
|
|
88
|
-
const
|
|
93
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
94
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
95
|
+
const stateData = {
|
|
96
|
+
data,
|
|
97
|
+
id: v4(),
|
|
98
|
+
redirectURL: requestRedirectURL,
|
|
99
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
100
|
+
};
|
|
89
101
|
const state2 = JSON.stringify(stateData);
|
|
90
102
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
91
103
|
scope: [
|
|
@@ -104,14 +116,25 @@ var getGoogleGetRoute = ({
|
|
|
104
116
|
});
|
|
105
117
|
return res;
|
|
106
118
|
}
|
|
107
|
-
const
|
|
119
|
+
const localState = req.cookies.get("state")?.value;
|
|
120
|
+
let stateRedirectURL;
|
|
121
|
+
let stateErrorRedirectURL;
|
|
122
|
+
if (localState) {
|
|
123
|
+
try {
|
|
124
|
+
const parsed = JSON.parse(localState);
|
|
125
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
126
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
131
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
108
132
|
if (error) {
|
|
109
|
-
return NextResponse2.redirect(
|
|
133
|
+
return NextResponse2.redirect(finalErrorURL);
|
|
110
134
|
}
|
|
111
135
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
112
136
|
if (code && state) {
|
|
113
|
-
|
|
114
|
-
if (localState !== state) return NextResponse2.redirect(errorURL);
|
|
137
|
+
if (localState !== state) return NextResponse2.redirect(finalErrorURL);
|
|
115
138
|
const { tokens } = await oauth2Client.getToken(code);
|
|
116
139
|
oauth2Client.setCredentials(tokens);
|
|
117
140
|
const userInfoRequest = await google.oauth2({
|
|
@@ -123,7 +146,13 @@ var getGoogleGetRoute = ({
|
|
|
123
146
|
const { data } = JSON.parse(localState);
|
|
124
147
|
const id = await getUserIdFromEmail(user, data);
|
|
125
148
|
if (id) {
|
|
126
|
-
const
|
|
149
|
+
const accessToken = generateAccessToken(
|
|
150
|
+
id,
|
|
151
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
152
|
+
);
|
|
153
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
154
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
155
|
+
const res = NextResponse2.redirect(targetUrl);
|
|
127
156
|
res.cookies.set(
|
|
128
157
|
REFRESH_COOKIE_NAME,
|
|
129
158
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -141,7 +170,7 @@ var getGoogleGetRoute = ({
|
|
|
141
170
|
}
|
|
142
171
|
}
|
|
143
172
|
}
|
|
144
|
-
return NextResponse2.redirect(
|
|
173
|
+
return NextResponse2.redirect(finalErrorURL);
|
|
145
174
|
};
|
|
146
175
|
};
|
|
147
176
|
export {
|
|
@@ -90,6 +90,11 @@ 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
|
+
}
|
|
93
98
|
function generateRefreshToken(id, refreshKey) {
|
|
94
99
|
return (0, import_jsonwebtoken.sign)({ id }, refreshKey);
|
|
95
100
|
}
|
|
@@ -111,7 +116,14 @@ var getGoogleGetRoute = ({
|
|
|
111
116
|
const error = req.nextUrl.searchParams.get("error");
|
|
112
117
|
if (!code && !error) {
|
|
113
118
|
const data = req.nextUrl.searchParams.get("data");
|
|
114
|
-
const
|
|
119
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
120
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
121
|
+
const stateData = {
|
|
122
|
+
data,
|
|
123
|
+
id: (0, import_uuid.v4)(),
|
|
124
|
+
redirectURL: requestRedirectURL,
|
|
125
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
126
|
+
};
|
|
115
127
|
const state2 = JSON.stringify(stateData);
|
|
116
128
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
117
129
|
scope: [
|
|
@@ -130,14 +142,25 @@ var getGoogleGetRoute = ({
|
|
|
130
142
|
});
|
|
131
143
|
return res;
|
|
132
144
|
}
|
|
133
|
-
const
|
|
145
|
+
const localState = req.cookies.get("state")?.value;
|
|
146
|
+
let stateRedirectURL;
|
|
147
|
+
let stateErrorRedirectURL;
|
|
148
|
+
if (localState) {
|
|
149
|
+
try {
|
|
150
|
+
const parsed = JSON.parse(localState);
|
|
151
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
152
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
153
|
+
} catch {
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
157
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
134
158
|
if (error) {
|
|
135
|
-
return import_server2.NextResponse.redirect(
|
|
159
|
+
return import_server2.NextResponse.redirect(finalErrorURL);
|
|
136
160
|
}
|
|
137
161
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
138
162
|
if (code && state) {
|
|
139
|
-
|
|
140
|
-
if (localState !== state) return import_server2.NextResponse.redirect(errorURL);
|
|
163
|
+
if (localState !== state) return import_server2.NextResponse.redirect(finalErrorURL);
|
|
141
164
|
const { tokens } = await oauth2Client.getToken(code);
|
|
142
165
|
oauth2Client.setCredentials(tokens);
|
|
143
166
|
const userInfoRequest = await import_googleapis.google.oauth2({
|
|
@@ -149,7 +172,13 @@ var getGoogleGetRoute = ({
|
|
|
149
172
|
const { data } = JSON.parse(localState);
|
|
150
173
|
const id = await getUserIdFromEmail(user, data);
|
|
151
174
|
if (id) {
|
|
152
|
-
const
|
|
175
|
+
const accessToken = generateAccessToken(
|
|
176
|
+
id,
|
|
177
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
178
|
+
);
|
|
179
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
180
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
181
|
+
const res = import_server2.NextResponse.redirect(targetUrl);
|
|
153
182
|
res.cookies.set(
|
|
154
183
|
REFRESH_COOKIE_NAME,
|
|
155
184
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -167,7 +196,7 @@ var getGoogleGetRoute = ({
|
|
|
167
196
|
}
|
|
168
197
|
}
|
|
169
198
|
}
|
|
170
|
-
return import_server2.NextResponse.redirect(
|
|
199
|
+
return import_server2.NextResponse.redirect(finalErrorURL);
|
|
171
200
|
};
|
|
172
201
|
};
|
|
173
202
|
|
|
@@ -64,6 +64,11 @@ 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
|
+
}
|
|
67
72
|
function generateRefreshToken(id, refreshKey) {
|
|
68
73
|
return sign({ id }, refreshKey);
|
|
69
74
|
}
|
|
@@ -85,7 +90,14 @@ var getGoogleGetRoute = ({
|
|
|
85
90
|
const error = req.nextUrl.searchParams.get("error");
|
|
86
91
|
if (!code && !error) {
|
|
87
92
|
const data = req.nextUrl.searchParams.get("data");
|
|
88
|
-
const
|
|
93
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
94
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
95
|
+
const stateData = {
|
|
96
|
+
data,
|
|
97
|
+
id: v4(),
|
|
98
|
+
redirectURL: requestRedirectURL,
|
|
99
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
100
|
+
};
|
|
89
101
|
const state2 = JSON.stringify(stateData);
|
|
90
102
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
91
103
|
scope: [
|
|
@@ -104,14 +116,25 @@ var getGoogleGetRoute = ({
|
|
|
104
116
|
});
|
|
105
117
|
return res;
|
|
106
118
|
}
|
|
107
|
-
const
|
|
119
|
+
const localState = req.cookies.get("state")?.value;
|
|
120
|
+
let stateRedirectURL;
|
|
121
|
+
let stateErrorRedirectURL;
|
|
122
|
+
if (localState) {
|
|
123
|
+
try {
|
|
124
|
+
const parsed = JSON.parse(localState);
|
|
125
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
126
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
131
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
108
132
|
if (error) {
|
|
109
|
-
return NextResponse2.redirect(
|
|
133
|
+
return NextResponse2.redirect(finalErrorURL);
|
|
110
134
|
}
|
|
111
135
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
112
136
|
if (code && state) {
|
|
113
|
-
|
|
114
|
-
if (localState !== state) return NextResponse2.redirect(errorURL);
|
|
137
|
+
if (localState !== state) return NextResponse2.redirect(finalErrorURL);
|
|
115
138
|
const { tokens } = await oauth2Client.getToken(code);
|
|
116
139
|
oauth2Client.setCredentials(tokens);
|
|
117
140
|
const userInfoRequest = await google.oauth2({
|
|
@@ -123,7 +146,13 @@ var getGoogleGetRoute = ({
|
|
|
123
146
|
const { data } = JSON.parse(localState);
|
|
124
147
|
const id = await getUserIdFromEmail(user, data);
|
|
125
148
|
if (id) {
|
|
126
|
-
const
|
|
149
|
+
const accessToken = generateAccessToken(
|
|
150
|
+
id,
|
|
151
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
152
|
+
);
|
|
153
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
154
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
155
|
+
const res = NextResponse2.redirect(targetUrl);
|
|
127
156
|
res.cookies.set(
|
|
128
157
|
REFRESH_COOKIE_NAME,
|
|
129
158
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -141,7 +170,7 @@ var getGoogleGetRoute = ({
|
|
|
141
170
|
}
|
|
142
171
|
}
|
|
143
172
|
}
|
|
144
|
-
return NextResponse2.redirect(
|
|
173
|
+
return NextResponse2.redirect(finalErrorURL);
|
|
145
174
|
};
|
|
146
175
|
};
|
|
147
176
|
|
package/dist/auth/index.cjs.js
CHANGED
|
@@ -76,6 +76,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
76
76
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
77
77
|
response.headers.set(key, value);
|
|
78
78
|
});
|
|
79
|
+
if (response instanceof import_server.NextResponse) {
|
|
80
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
81
|
+
if (refreshCookie) {
|
|
82
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
83
|
+
...refreshCookie,
|
|
84
|
+
sameSite: "none"
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
79
88
|
return response;
|
|
80
89
|
});
|
|
81
90
|
}
|
|
@@ -153,14 +162,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
153
162
|
});
|
|
154
163
|
if (!accessToken) {
|
|
155
164
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
156
|
-
secure:
|
|
165
|
+
secure: true,
|
|
157
166
|
httpOnly: true,
|
|
158
167
|
expires: 0
|
|
159
168
|
});
|
|
160
169
|
}
|
|
161
170
|
if (refreshToken !== void 0) {
|
|
162
171
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
163
|
-
secure:
|
|
172
|
+
secure: true,
|
|
164
173
|
httpOnly: true,
|
|
165
174
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
166
175
|
});
|
|
@@ -464,7 +473,14 @@ var getGoogleGetRoute = ({
|
|
|
464
473
|
const error = req.nextUrl.searchParams.get("error");
|
|
465
474
|
if (!code && !error) {
|
|
466
475
|
const data = req.nextUrl.searchParams.get("data");
|
|
467
|
-
const
|
|
476
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
477
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
478
|
+
const stateData = {
|
|
479
|
+
data,
|
|
480
|
+
id: (0, import_uuid.v4)(),
|
|
481
|
+
redirectURL: requestRedirectURL,
|
|
482
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
483
|
+
};
|
|
468
484
|
const state2 = JSON.stringify(stateData);
|
|
469
485
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
470
486
|
scope: [
|
|
@@ -483,14 +499,25 @@ var getGoogleGetRoute = ({
|
|
|
483
499
|
});
|
|
484
500
|
return res;
|
|
485
501
|
}
|
|
486
|
-
const
|
|
502
|
+
const localState = req.cookies.get("state")?.value;
|
|
503
|
+
let stateRedirectURL;
|
|
504
|
+
let stateErrorRedirectURL;
|
|
505
|
+
if (localState) {
|
|
506
|
+
try {
|
|
507
|
+
const parsed = JSON.parse(localState);
|
|
508
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
509
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
510
|
+
} catch {
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
514
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
487
515
|
if (error) {
|
|
488
|
-
return import_server6.NextResponse.redirect(
|
|
516
|
+
return import_server6.NextResponse.redirect(finalErrorURL);
|
|
489
517
|
}
|
|
490
518
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
491
519
|
if (code && state) {
|
|
492
|
-
|
|
493
|
-
if (localState !== state) return import_server6.NextResponse.redirect(errorURL);
|
|
520
|
+
if (localState !== state) return import_server6.NextResponse.redirect(finalErrorURL);
|
|
494
521
|
const { tokens } = await oauth2Client.getToken(code);
|
|
495
522
|
oauth2Client.setCredentials(tokens);
|
|
496
523
|
const userInfoRequest = await import_googleapis.google.oauth2({
|
|
@@ -502,7 +529,13 @@ var getGoogleGetRoute = ({
|
|
|
502
529
|
const { data } = JSON.parse(localState);
|
|
503
530
|
const id = await getUserIdFromEmail(user, data);
|
|
504
531
|
if (id) {
|
|
505
|
-
const
|
|
532
|
+
const accessToken = generateAccessToken(
|
|
533
|
+
id,
|
|
534
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
535
|
+
);
|
|
536
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
537
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
538
|
+
const res = import_server6.NextResponse.redirect(targetUrl);
|
|
506
539
|
res.cookies.set(
|
|
507
540
|
REFRESH_COOKIE_NAME,
|
|
508
541
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -520,7 +553,7 @@ var getGoogleGetRoute = ({
|
|
|
520
553
|
}
|
|
521
554
|
}
|
|
522
555
|
}
|
|
523
|
-
return import_server6.NextResponse.redirect(
|
|
556
|
+
return import_server6.NextResponse.redirect(finalErrorURL);
|
|
524
557
|
};
|
|
525
558
|
};
|
|
526
559
|
|
package/dist/auth/index.esm.js
CHANGED
|
@@ -32,6 +32,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
32
32
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
33
33
|
response.headers.set(key, value);
|
|
34
34
|
});
|
|
35
|
+
if (response instanceof NextResponse) {
|
|
36
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
37
|
+
if (refreshCookie) {
|
|
38
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
39
|
+
...refreshCookie,
|
|
40
|
+
sameSite: "none"
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
35
44
|
return response;
|
|
36
45
|
});
|
|
37
46
|
}
|
|
@@ -109,14 +118,14 @@ function getTokenizedResponse(accessToken, refreshToken) {
|
|
|
109
118
|
});
|
|
110
119
|
if (!accessToken) {
|
|
111
120
|
response.cookies.set(REFRESH_COOKIE_NAME, "", {
|
|
112
|
-
secure:
|
|
121
|
+
secure: true,
|
|
113
122
|
httpOnly: true,
|
|
114
123
|
expires: 0
|
|
115
124
|
});
|
|
116
125
|
}
|
|
117
126
|
if (refreshToken !== void 0) {
|
|
118
127
|
response.cookies.set(REFRESH_COOKIE_NAME, refreshToken, {
|
|
119
|
-
secure:
|
|
128
|
+
secure: true,
|
|
120
129
|
httpOnly: true,
|
|
121
130
|
expires: refreshToken === "" ? 0 : new Date(Date.now() + 60 * 60 * 24 * 365 * 1e3)
|
|
122
131
|
});
|
|
@@ -424,7 +433,14 @@ var getGoogleGetRoute = ({
|
|
|
424
433
|
const error = req.nextUrl.searchParams.get("error");
|
|
425
434
|
if (!code && !error) {
|
|
426
435
|
const data = req.nextUrl.searchParams.get("data");
|
|
427
|
-
const
|
|
436
|
+
const requestRedirectURL = req.nextUrl.searchParams.get("redirectURL") || void 0;
|
|
437
|
+
const requestErrorRedirectURL = req.nextUrl.searchParams.get("errorRedirectURL") || void 0;
|
|
438
|
+
const stateData = {
|
|
439
|
+
data,
|
|
440
|
+
id: v4(),
|
|
441
|
+
redirectURL: requestRedirectURL,
|
|
442
|
+
errorRedirectURL: requestErrorRedirectURL
|
|
443
|
+
};
|
|
428
444
|
const state2 = JSON.stringify(stateData);
|
|
429
445
|
const authorizationUrl = oauth2Client.generateAuthUrl({
|
|
430
446
|
scope: [
|
|
@@ -443,14 +459,25 @@ var getGoogleGetRoute = ({
|
|
|
443
459
|
});
|
|
444
460
|
return res;
|
|
445
461
|
}
|
|
446
|
-
const
|
|
462
|
+
const localState = req.cookies.get("state")?.value;
|
|
463
|
+
let stateRedirectURL;
|
|
464
|
+
let stateErrorRedirectURL;
|
|
465
|
+
if (localState) {
|
|
466
|
+
try {
|
|
467
|
+
const parsed = JSON.parse(localState);
|
|
468
|
+
stateRedirectURL = parsed.redirectURL || void 0;
|
|
469
|
+
stateErrorRedirectURL = parsed.errorRedirectURL || void 0;
|
|
470
|
+
} catch {
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
const finalRedirectURL = stateRedirectURL || redirectURL;
|
|
474
|
+
const finalErrorURL = stateErrorRedirectURL || errorRedirectURL || finalRedirectURL;
|
|
447
475
|
if (error) {
|
|
448
|
-
return NextResponse5.redirect(
|
|
476
|
+
return NextResponse5.redirect(finalErrorURL);
|
|
449
477
|
}
|
|
450
478
|
const state = req.nextUrl.searchParams.get("state") || void 0;
|
|
451
479
|
if (code && state) {
|
|
452
|
-
|
|
453
|
-
if (localState !== state) return NextResponse5.redirect(errorURL);
|
|
480
|
+
if (localState !== state) return NextResponse5.redirect(finalErrorURL);
|
|
454
481
|
const { tokens } = await oauth2Client.getToken(code);
|
|
455
482
|
oauth2Client.setCredentials(tokens);
|
|
456
483
|
const userInfoRequest = await google.oauth2({
|
|
@@ -462,7 +489,13 @@ var getGoogleGetRoute = ({
|
|
|
462
489
|
const { data } = JSON.parse(localState);
|
|
463
490
|
const id = await getUserIdFromEmail(user, data);
|
|
464
491
|
if (id) {
|
|
465
|
-
const
|
|
492
|
+
const accessToken = generateAccessToken(
|
|
493
|
+
id,
|
|
494
|
+
getEnv("SIGNING_KEY" /* SIGNING_KEY */)
|
|
495
|
+
);
|
|
496
|
+
const targetUrl = new URL(finalRedirectURL, req.nextUrl.origin);
|
|
497
|
+
targetUrl.searchParams.set("accessToken", accessToken);
|
|
498
|
+
const res = NextResponse5.redirect(targetUrl);
|
|
466
499
|
res.cookies.set(
|
|
467
500
|
REFRESH_COOKIE_NAME,
|
|
468
501
|
generateRefreshToken(id, getEnv("REFRESH_KEY" /* REFRESH_KEY */)),
|
|
@@ -480,7 +513,7 @@ var getGoogleGetRoute = ({
|
|
|
480
513
|
}
|
|
481
514
|
}
|
|
482
515
|
}
|
|
483
|
-
return NextResponse5.redirect(
|
|
516
|
+
return NextResponse5.redirect(finalErrorURL);
|
|
484
517
|
};
|
|
485
518
|
};
|
|
486
519
|
|
|
@@ -660,6 +660,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
660
660
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
661
661
|
response.headers.set(key, value);
|
|
662
662
|
});
|
|
663
|
+
if (response instanceof import_server.NextResponse) {
|
|
664
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
665
|
+
if (refreshCookie) {
|
|
666
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
667
|
+
...refreshCookie,
|
|
668
|
+
sameSite: "none"
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
}
|
|
663
672
|
return response;
|
|
664
673
|
});
|
|
665
674
|
}
|
|
@@ -645,6 +645,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
645
645
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
646
646
|
response.headers.set(key, value);
|
|
647
647
|
});
|
|
648
|
+
if (response instanceof NextResponse) {
|
|
649
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
650
|
+
if (refreshCookie) {
|
|
651
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
652
|
+
...refreshCookie,
|
|
653
|
+
sameSite: "none"
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
}
|
|
648
657
|
return response;
|
|
649
658
|
});
|
|
650
659
|
}
|
package/dist/graphql/init.cjs.js
CHANGED
|
@@ -111,6 +111,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
111
111
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
112
112
|
response.headers.set(key, value);
|
|
113
113
|
});
|
|
114
|
+
if (response instanceof import_server.NextResponse) {
|
|
115
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
116
|
+
if (refreshCookie) {
|
|
117
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
118
|
+
...refreshCookie,
|
|
119
|
+
sameSite: "none"
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
114
123
|
return response;
|
|
115
124
|
});
|
|
116
125
|
}
|
package/dist/graphql/init.esm.js
CHANGED
|
@@ -92,6 +92,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
92
92
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
93
93
|
response.headers.set(key, value);
|
|
94
94
|
});
|
|
95
|
+
if (response instanceof NextResponse) {
|
|
96
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
97
|
+
if (refreshCookie) {
|
|
98
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
99
|
+
...refreshCookie,
|
|
100
|
+
sameSite: "none"
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
95
104
|
return response;
|
|
96
105
|
});
|
|
97
106
|
}
|
package/dist/utils/route.cjs.js
CHANGED
|
@@ -27,6 +27,7 @@ module.exports = __toCommonJS(route_exports);
|
|
|
27
27
|
var import_server = require("next/server");
|
|
28
28
|
|
|
29
29
|
// src/auth/constants.ts
|
|
30
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
30
31
|
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
31
32
|
|
|
32
33
|
// src/utils/route.ts
|
|
@@ -53,6 +54,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
53
54
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
54
55
|
response.headers.set(key, value);
|
|
55
56
|
});
|
|
57
|
+
if (response instanceof import_server.NextResponse) {
|
|
58
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
59
|
+
if (refreshCookie) {
|
|
60
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
61
|
+
...refreshCookie,
|
|
62
|
+
sameSite: "none"
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
56
66
|
return response;
|
|
57
67
|
});
|
|
58
68
|
}
|
package/dist/utils/route.esm.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { NextResponse } from "next/server";
|
|
3
3
|
|
|
4
4
|
// src/auth/constants.ts
|
|
5
|
+
var REFRESH_COOKIE_NAME = "refresh";
|
|
5
6
|
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
6
7
|
|
|
7
8
|
// src/utils/route.ts
|
|
@@ -28,6 +29,15 @@ function withCors(handler, allowedOrigins) {
|
|
|
28
29
|
Object.entries(corsHeaders).forEach(([key, value]) => {
|
|
29
30
|
response.headers.set(key, value);
|
|
30
31
|
});
|
|
32
|
+
if (response instanceof NextResponse) {
|
|
33
|
+
const refreshCookie = response.cookies.get(REFRESH_COOKIE_NAME);
|
|
34
|
+
if (refreshCookie) {
|
|
35
|
+
response.cookies.set(refreshCookie.name, refreshCookie.value, {
|
|
36
|
+
...refreshCookie,
|
|
37
|
+
sameSite: "none"
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
31
41
|
return response;
|
|
32
42
|
});
|
|
33
43
|
}
|