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.
- 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 +19 -23
- 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 +18 -23
- 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 +21 -16
- 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 +21 -16
- package/dist/auth/email/routes/post.cjs.js +25 -29
- package/dist/auth/email/routes/post.esm.js +25 -29
- package/dist/auth/email/routes/put.cjs.js +24 -24
- package/dist/auth/email/routes/put.esm.js +24 -24
- package/dist/auth/email/token.cjs.js +8 -7
- package/dist/auth/email/token.d.mts +4 -10
- package/dist/auth/email/token.d.ts +4 -10
- package/dist/auth/email/token.esm.js +8 -7
- package/dist/auth/google/get.cjs.js +3 -15
- package/dist/auth/google/get.esm.js +3 -15
- package/dist/auth/google/index.cjs.js +3 -15
- package/dist/auth/google/index.esm.js +3 -15
- package/dist/auth/index.cjs.js +20 -31
- package/dist/auth/index.d.mts +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.esm.js +19 -31
- 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
package/dist/auth/client.cjs.js
CHANGED
|
@@ -47,9 +47,6 @@ module.exports = __toCommonJS(client_exports);
|
|
|
47
47
|
// src/auth/email/client.tsx
|
|
48
48
|
var import_react = __toESM(require("react"));
|
|
49
49
|
|
|
50
|
-
// src/auth/constants.ts
|
|
51
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
52
|
-
|
|
53
50
|
// src/env.ts
|
|
54
51
|
var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
|
|
55
52
|
var getEnvValue = (key) => {
|
|
@@ -107,32 +104,21 @@ var TokenContext = (0, import_react.createContext)({
|
|
|
107
104
|
});
|
|
108
105
|
var AuthWrapper = ({
|
|
109
106
|
children,
|
|
110
|
-
onTokenUpdate,
|
|
111
|
-
getRefreshToken,
|
|
112
107
|
skipInitialFetch
|
|
113
108
|
}) => {
|
|
114
109
|
const [token, setToken] = (0, import_react.useState)();
|
|
115
|
-
(
|
|
116
|
-
if (onTokenUpdate && token !== void 0) {
|
|
117
|
-
onTokenUpdate(token);
|
|
118
|
-
}
|
|
119
|
-
}, [token]);
|
|
120
|
-
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, { getRefreshToken }), children);
|
|
110
|
+
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
|
|
121
111
|
};
|
|
122
|
-
function AuthChildComponent(
|
|
123
|
-
useAuthFetch(
|
|
112
|
+
function AuthChildComponent() {
|
|
113
|
+
useAuthFetch();
|
|
124
114
|
return null;
|
|
125
115
|
}
|
|
126
|
-
function useAuthFetch({
|
|
116
|
+
function useAuthFetch({ skip } = {}) {
|
|
127
117
|
const setToken = useSetToken();
|
|
128
118
|
const fetchToken = async () => {
|
|
129
|
-
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
130
119
|
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
131
|
-
credentials: "include"
|
|
132
|
-
|
|
133
|
-
[REFRESH_HEADER_NAME]: token
|
|
134
|
-
} : void 0
|
|
135
|
-
}).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
|
|
120
|
+
credentials: "include"
|
|
121
|
+
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
136
122
|
};
|
|
137
123
|
(0, import_react.useEffect)(() => {
|
|
138
124
|
if (skip) return;
|
|
@@ -169,8 +155,8 @@ function useSignUp() {
|
|
|
169
155
|
}
|
|
170
156
|
);
|
|
171
157
|
if (res.ok) {
|
|
172
|
-
const
|
|
173
|
-
setToken(
|
|
158
|
+
const accessToken = await res.text();
|
|
159
|
+
setToken(accessToken);
|
|
174
160
|
return null;
|
|
175
161
|
}
|
|
176
162
|
return res.text();
|
|
@@ -191,8 +177,8 @@ function useLogin() {
|
|
|
191
177
|
}
|
|
192
178
|
);
|
|
193
179
|
if (res.ok) {
|
|
194
|
-
const
|
|
195
|
-
setToken(
|
|
180
|
+
const accessToken = await res.text();
|
|
181
|
+
setToken(accessToken);
|
|
196
182
|
return null;
|
|
197
183
|
}
|
|
198
184
|
return res.text();
|
package/dist/auth/client.esm.js
CHANGED
|
@@ -9,9 +9,6 @@ import React, {
|
|
|
9
9
|
useState
|
|
10
10
|
} from "react";
|
|
11
11
|
|
|
12
|
-
// src/auth/constants.ts
|
|
13
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
14
|
-
|
|
15
12
|
// src/env.ts
|
|
16
13
|
var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
|
|
17
14
|
var getEnvValue = (key) => {
|
|
@@ -69,32 +66,21 @@ var TokenContext = createContext({
|
|
|
69
66
|
});
|
|
70
67
|
var AuthWrapper = ({
|
|
71
68
|
children,
|
|
72
|
-
onTokenUpdate,
|
|
73
|
-
getRefreshToken,
|
|
74
69
|
skipInitialFetch
|
|
75
70
|
}) => {
|
|
76
71
|
const [token, setToken] = useState();
|
|
77
|
-
|
|
78
|
-
if (onTokenUpdate && token !== void 0) {
|
|
79
|
-
onTokenUpdate(token);
|
|
80
|
-
}
|
|
81
|
-
}, [token]);
|
|
82
|
-
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, { getRefreshToken }), children);
|
|
72
|
+
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
|
|
83
73
|
};
|
|
84
|
-
function AuthChildComponent(
|
|
85
|
-
useAuthFetch(
|
|
74
|
+
function AuthChildComponent() {
|
|
75
|
+
useAuthFetch();
|
|
86
76
|
return null;
|
|
87
77
|
}
|
|
88
|
-
function useAuthFetch({
|
|
78
|
+
function useAuthFetch({ skip } = {}) {
|
|
89
79
|
const setToken = useSetToken();
|
|
90
80
|
const fetchToken = async () => {
|
|
91
|
-
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
92
81
|
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
93
|
-
credentials: "include"
|
|
94
|
-
|
|
95
|
-
[REFRESH_HEADER_NAME]: token
|
|
96
|
-
} : void 0
|
|
97
|
-
}).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
|
|
82
|
+
credentials: "include"
|
|
83
|
+
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
98
84
|
};
|
|
99
85
|
useEffect(() => {
|
|
100
86
|
if (skip) return;
|
|
@@ -131,8 +117,8 @@ function useSignUp() {
|
|
|
131
117
|
}
|
|
132
118
|
);
|
|
133
119
|
if (res.ok) {
|
|
134
|
-
const
|
|
135
|
-
setToken(
|
|
120
|
+
const accessToken = await res.text();
|
|
121
|
+
setToken(accessToken);
|
|
136
122
|
return null;
|
|
137
123
|
}
|
|
138
124
|
return res.text();
|
|
@@ -153,8 +139,8 @@ function useLogin() {
|
|
|
153
139
|
}
|
|
154
140
|
);
|
|
155
141
|
if (res.ok) {
|
|
156
|
-
const
|
|
157
|
-
setToken(
|
|
142
|
+
const accessToken = await res.text();
|
|
143
|
+
setToken(accessToken);
|
|
158
144
|
return null;
|
|
159
145
|
}
|
|
160
146
|
return res.text();
|
|
@@ -44,9 +44,6 @@ __export(client_exports, {
|
|
|
44
44
|
module.exports = __toCommonJS(client_exports);
|
|
45
45
|
var import_react = __toESM(require("react"));
|
|
46
46
|
|
|
47
|
-
// src/auth/constants.ts
|
|
48
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
49
|
-
|
|
50
47
|
// src/env.ts
|
|
51
48
|
var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
|
|
52
49
|
var getEnvValue = (key) => {
|
|
@@ -104,32 +101,21 @@ var TokenContext = (0, import_react.createContext)({
|
|
|
104
101
|
});
|
|
105
102
|
var AuthWrapper = ({
|
|
106
103
|
children,
|
|
107
|
-
onTokenUpdate,
|
|
108
|
-
getRefreshToken,
|
|
109
104
|
skipInitialFetch
|
|
110
105
|
}) => {
|
|
111
106
|
const [token, setToken] = (0, import_react.useState)();
|
|
112
|
-
(
|
|
113
|
-
if (onTokenUpdate && token !== void 0) {
|
|
114
|
-
onTokenUpdate(token);
|
|
115
|
-
}
|
|
116
|
-
}, [token]);
|
|
117
|
-
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, { getRefreshToken }), children);
|
|
107
|
+
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
|
|
118
108
|
};
|
|
119
|
-
function AuthChildComponent(
|
|
120
|
-
useAuthFetch(
|
|
109
|
+
function AuthChildComponent() {
|
|
110
|
+
useAuthFetch();
|
|
121
111
|
return null;
|
|
122
112
|
}
|
|
123
|
-
function useAuthFetch({
|
|
113
|
+
function useAuthFetch({ skip } = {}) {
|
|
124
114
|
const setToken = useSetToken();
|
|
125
115
|
const fetchToken = async () => {
|
|
126
|
-
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
127
116
|
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
128
|
-
credentials: "include"
|
|
129
|
-
|
|
130
|
-
[REFRESH_HEADER_NAME]: token
|
|
131
|
-
} : void 0
|
|
132
|
-
}).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
|
|
117
|
+
credentials: "include"
|
|
118
|
+
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
133
119
|
};
|
|
134
120
|
(0, import_react.useEffect)(() => {
|
|
135
121
|
if (skip) return;
|
|
@@ -166,8 +152,8 @@ function useSignUp() {
|
|
|
166
152
|
}
|
|
167
153
|
);
|
|
168
154
|
if (res.ok) {
|
|
169
|
-
const
|
|
170
|
-
setToken(
|
|
155
|
+
const accessToken = await res.text();
|
|
156
|
+
setToken(accessToken);
|
|
171
157
|
return null;
|
|
172
158
|
}
|
|
173
159
|
return res.text();
|
|
@@ -188,8 +174,8 @@ function useLogin() {
|
|
|
188
174
|
}
|
|
189
175
|
);
|
|
190
176
|
if (res.ok) {
|
|
191
|
-
const
|
|
192
|
-
setToken(
|
|
177
|
+
const accessToken = await res.text();
|
|
178
|
+
setToken(accessToken);
|
|
193
179
|
return null;
|
|
194
180
|
}
|
|
195
181
|
return res.text();
|
|
@@ -10,7 +10,6 @@ declare const TokenContext: React__default.Context<{
|
|
|
10
10
|
}>;
|
|
11
11
|
type AuthWrapperProps = PropsWithChildren<{
|
|
12
12
|
onTokenUpdate?: (token: string | null) => void;
|
|
13
|
-
getRefreshToken?: () => Promise<string | null>;
|
|
14
13
|
skipInitialFetch?: boolean;
|
|
15
14
|
}>;
|
|
16
15
|
/**
|
|
@@ -45,7 +44,7 @@ type AuthWrapperProps = PropsWithChildren<{
|
|
|
45
44
|
*
|
|
46
45
|
* @category Auth
|
|
47
46
|
*/
|
|
48
|
-
declare const AuthWrapper: ({ children,
|
|
47
|
+
declare const AuthWrapper: ({ children, skipInitialFetch }: AuthWrapperProps) => React__default.JSX.Element;
|
|
49
48
|
/**
|
|
50
49
|
* Fetches the access token on mount by calling the auth endpoint. Stores the result in TokenContext.
|
|
51
50
|
* Used internally by auth setup; prefer `AuthWrapper` for typical usage.
|
|
@@ -54,8 +53,7 @@ declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInit
|
|
|
54
53
|
*
|
|
55
54
|
* @category Auth
|
|
56
55
|
*/
|
|
57
|
-
declare function useAuthFetch({
|
|
58
|
-
getRefreshToken?: () => Promise<string | null>;
|
|
56
|
+
declare function useAuthFetch({ skip }?: {
|
|
59
57
|
skip?: boolean;
|
|
60
58
|
}): void;
|
|
61
59
|
/**
|
|
@@ -10,7 +10,6 @@ declare const TokenContext: React__default.Context<{
|
|
|
10
10
|
}>;
|
|
11
11
|
type AuthWrapperProps = PropsWithChildren<{
|
|
12
12
|
onTokenUpdate?: (token: string | null) => void;
|
|
13
|
-
getRefreshToken?: () => Promise<string | null>;
|
|
14
13
|
skipInitialFetch?: boolean;
|
|
15
14
|
}>;
|
|
16
15
|
/**
|
|
@@ -45,7 +44,7 @@ type AuthWrapperProps = PropsWithChildren<{
|
|
|
45
44
|
*
|
|
46
45
|
* @category Auth
|
|
47
46
|
*/
|
|
48
|
-
declare const AuthWrapper: ({ children,
|
|
47
|
+
declare const AuthWrapper: ({ children, skipInitialFetch }: AuthWrapperProps) => React__default.JSX.Element;
|
|
49
48
|
/**
|
|
50
49
|
* Fetches the access token on mount by calling the auth endpoint. Stores the result in TokenContext.
|
|
51
50
|
* Used internally by auth setup; prefer `AuthWrapper` for typical usage.
|
|
@@ -54,8 +53,7 @@ declare const AuthWrapper: ({ children, onTokenUpdate, getRefreshToken, skipInit
|
|
|
54
53
|
*
|
|
55
54
|
* @category Auth
|
|
56
55
|
*/
|
|
57
|
-
declare function useAuthFetch({
|
|
58
|
-
getRefreshToken?: () => Promise<string | null>;
|
|
56
|
+
declare function useAuthFetch({ skip }?: {
|
|
59
57
|
skip?: boolean;
|
|
60
58
|
}): void;
|
|
61
59
|
/**
|
|
@@ -9,9 +9,6 @@ import React, {
|
|
|
9
9
|
useState
|
|
10
10
|
} from "react";
|
|
11
11
|
|
|
12
|
-
// src/auth/constants.ts
|
|
13
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
14
|
-
|
|
15
12
|
// src/env.ts
|
|
16
13
|
var EXTRA_ENV = globalThis.__NAYSTACK_ENV__ || (globalThis.__NAYSTACK_ENV__ = {});
|
|
17
14
|
var getEnvValue = (key) => {
|
|
@@ -69,32 +66,21 @@ var TokenContext = createContext({
|
|
|
69
66
|
});
|
|
70
67
|
var AuthWrapper = ({
|
|
71
68
|
children,
|
|
72
|
-
onTokenUpdate,
|
|
73
|
-
getRefreshToken,
|
|
74
69
|
skipInitialFetch
|
|
75
70
|
}) => {
|
|
76
71
|
const [token, setToken] = useState();
|
|
77
|
-
|
|
78
|
-
if (onTokenUpdate && token !== void 0) {
|
|
79
|
-
onTokenUpdate(token);
|
|
80
|
-
}
|
|
81
|
-
}, [token]);
|
|
82
|
-
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, { getRefreshToken }), children);
|
|
72
|
+
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
|
|
83
73
|
};
|
|
84
|
-
function AuthChildComponent(
|
|
85
|
-
useAuthFetch(
|
|
74
|
+
function AuthChildComponent() {
|
|
75
|
+
useAuthFetch();
|
|
86
76
|
return null;
|
|
87
77
|
}
|
|
88
|
-
function useAuthFetch({
|
|
78
|
+
function useAuthFetch({ skip } = {}) {
|
|
89
79
|
const setToken = useSetToken();
|
|
90
80
|
const fetchToken = async () => {
|
|
91
|
-
const token = getRefreshToken ? await getRefreshToken() : null;
|
|
92
81
|
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
93
|
-
credentials: "include"
|
|
94
|
-
|
|
95
|
-
[REFRESH_HEADER_NAME]: token
|
|
96
|
-
} : void 0
|
|
97
|
-
}).then((res) => res.json()).then((data) => setToken(data.accessToken || null));
|
|
82
|
+
credentials: "include"
|
|
83
|
+
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
98
84
|
};
|
|
99
85
|
useEffect(() => {
|
|
100
86
|
if (skip) return;
|
|
@@ -131,8 +117,8 @@ function useSignUp() {
|
|
|
131
117
|
}
|
|
132
118
|
);
|
|
133
119
|
if (res.ok) {
|
|
134
|
-
const
|
|
135
|
-
setToken(
|
|
120
|
+
const accessToken = await res.text();
|
|
121
|
+
setToken(accessToken);
|
|
136
122
|
return null;
|
|
137
123
|
}
|
|
138
124
|
return res.text();
|
|
@@ -153,8 +139,8 @@ function useLogin() {
|
|
|
153
139
|
}
|
|
154
140
|
);
|
|
155
141
|
if (res.ok) {
|
|
156
|
-
const
|
|
157
|
-
setToken(
|
|
142
|
+
const accessToken = await res.text();
|
|
143
|
+
setToken(accessToken);
|
|
158
144
|
return null;
|
|
159
145
|
}
|
|
160
146
|
return res.text();
|
|
@@ -34,6 +34,7 @@ __export(email_exports, {
|
|
|
34
34
|
AuthWrapper: () => AuthWrapper,
|
|
35
35
|
checkAuthStatus: () => checkAuthStatus,
|
|
36
36
|
getContext: () => getContext,
|
|
37
|
+
getTokenizedResponse: () => getTokenizedResponse,
|
|
37
38
|
setupEmailAuth: () => setupEmailAuth
|
|
38
39
|
});
|
|
39
40
|
module.exports = __toCommonJS(email_exports);
|
|
@@ -44,7 +45,6 @@ var import_server = require("next/server");
|
|
|
44
45
|
|
|
45
46
|
// src/auth/constants.ts
|
|
46
47
|
var REFRESH_COOKIE_NAME = "refresh";
|
|
47
|
-
var REFRESH_HEADER_NAME = "X-Refresh-Token";
|
|
48
48
|
|
|
49
49
|
// src/utils/route.ts
|
|
50
50
|
function getCorsHeaders(origin, allowedOrigins) {
|
|
@@ -52,7 +52,7 @@ function getCorsHeaders(origin, allowedOrigins) {
|
|
|
52
52
|
return {
|
|
53
53
|
"Access-Control-Allow-Origin": origin,
|
|
54
54
|
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
|
|
55
|
-
"Access-Control-Allow-Headers": `Content-Type, Authorization
|
|
55
|
+
"Access-Control-Allow-Headers": `Content-Type, Authorization`,
|
|
56
56
|
"Access-Control-Allow-Credentials": "true"
|
|
57
57
|
};
|
|
58
58
|
}
|
|
@@ -141,17 +141,18 @@ function getEnv(key, skipCheck) {
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
// src/auth/email/token.ts
|
|
144
|
-
function generateAccessToken(id
|
|
145
|
-
return (0, import_jsonwebtoken.sign)({ id },
|
|
144
|
+
function generateAccessToken(id) {
|
|
145
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
146
146
|
expiresIn: "2h"
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
|
-
function generateRefreshToken(id
|
|
150
|
-
return (0, import_jsonwebtoken.sign)({ id },
|
|
149
|
+
function generateRefreshToken(id) {
|
|
150
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
151
151
|
}
|
|
152
|
-
function getTokenizedResponse(
|
|
153
|
-
const
|
|
154
|
-
const
|
|
152
|
+
function getTokenizedResponse(id) {
|
|
153
|
+
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
154
|
+
const refreshToken = id ? generateRefreshToken(id) : void 0;
|
|
155
|
+
const response = import_server2.NextResponse.json(accessToken, {
|
|
155
156
|
status: 200
|
|
156
157
|
});
|
|
157
158
|
if (!accessToken) {
|
|
@@ -280,12 +281,12 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
280
281
|
const body = await req.json();
|
|
281
282
|
await options.onLogout?.(ctx.userId, body);
|
|
282
283
|
}
|
|
283
|
-
return getTokenizedResponse(
|
|
284
|
+
return getTokenizedResponse();
|
|
284
285
|
};
|
|
285
286
|
|
|
286
287
|
// src/auth/email/routes/get.ts
|
|
287
288
|
var getGetRoute = (options) => async (req) => {
|
|
288
|
-
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value ||
|
|
289
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
|
|
289
290
|
const userID = getUserIdFromRefreshToken(refresh);
|
|
290
291
|
if (userID) {
|
|
291
292
|
if (options.onRefresh) {
|
|
@@ -293,7 +294,7 @@ var getGetRoute = (options) => async (req) => {
|
|
|
293
294
|
await options.onRefresh?.(userID, body);
|
|
294
295
|
}
|
|
295
296
|
return getTokenizedResponse(
|
|
296
|
-
|
|
297
|
+
userID
|
|
297
298
|
);
|
|
298
299
|
}
|
|
299
300
|
return getTokenizedResponse();
|
|
@@ -308,11 +309,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
308
309
|
if (existingUser) {
|
|
309
310
|
if (await verifyUser(existingUser, data.password)) {
|
|
310
311
|
return getTokenizedResponse(
|
|
311
|
-
|
|
312
|
-
generateRefreshToken(
|
|
313
|
-
existingUser.id,
|
|
314
|
-
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
315
|
-
)
|
|
312
|
+
existingUser.id
|
|
316
313
|
);
|
|
317
314
|
}
|
|
318
315
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -327,8 +324,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
327
324
|
await options.onSignUp?.(newUser.id, data);
|
|
328
325
|
}
|
|
329
326
|
return getTokenizedResponse(
|
|
330
|
-
|
|
331
|
-
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
327
|
+
newUser.id
|
|
332
328
|
);
|
|
333
329
|
}
|
|
334
330
|
return getTokenizedResponse();
|
|
@@ -346,8 +342,7 @@ var getPutRoute = (options) => async (req) => {
|
|
|
346
342
|
await options.onLogin?.(user.id, data);
|
|
347
343
|
}
|
|
348
344
|
return getTokenizedResponse(
|
|
349
|
-
|
|
350
|
-
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
345
|
+
user.id
|
|
351
346
|
);
|
|
352
347
|
}
|
|
353
348
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -408,8 +403,8 @@ function AuthFetch() {
|
|
|
408
403
|
}
|
|
409
404
|
);
|
|
410
405
|
}
|
|
411
|
-
function AuthWrapper({ children,
|
|
412
|
-
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true
|
|
406
|
+
function AuthWrapper({ children, skipInitialFetch }) {
|
|
407
|
+
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));
|
|
413
408
|
}
|
|
414
409
|
|
|
415
410
|
// src/auth/email/index.ts
|
|
@@ -440,5 +435,6 @@ function setupEmailAuth(options) {
|
|
|
440
435
|
AuthWrapper,
|
|
441
436
|
checkAuthStatus,
|
|
442
437
|
getContext,
|
|
438
|
+
getTokenizedResponse,
|
|
443
439
|
setupEmailAuth
|
|
444
440
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { SetupEmailAuthOptions } from './types.mjs';
|
|
3
3
|
export { AuthFetch, AuthWrapper } from './next.mjs';
|
|
4
|
-
export { checkAuthStatus } from './token.mjs';
|
|
4
|
+
export { checkAuthStatus, getTokenizedResponse } from './token.mjs';
|
|
5
5
|
export { getContext } from './utils.mjs';
|
|
6
6
|
import '../types.mjs';
|
|
7
7
|
import 'react';
|
|
@@ -50,16 +50,10 @@ import '../../graphql/types.mjs';
|
|
|
50
50
|
*/
|
|
51
51
|
declare function setupEmailAuth(options: SetupEmailAuthOptions): {
|
|
52
52
|
OPTIONS?: ((req: NextRequest) => NextResponse<unknown>) | undefined;
|
|
53
|
-
GET: (req: NextRequest) => Promise<NextResponse<
|
|
54
|
-
accessToken: string | undefined;
|
|
55
|
-
refreshToken: string | undefined;
|
|
56
|
-
}>>;
|
|
53
|
+
GET: (req: NextRequest) => Promise<NextResponse<string | undefined>>;
|
|
57
54
|
POST: (req: NextRequest) => Promise<NextResponse<unknown> | undefined>;
|
|
58
55
|
PUT: (req: NextRequest) => Promise<NextResponse<unknown> | undefined>;
|
|
59
|
-
DELETE: (req: NextRequest) => Promise<NextResponse<
|
|
60
|
-
accessToken: string | undefined;
|
|
61
|
-
refreshToken: string | undefined;
|
|
62
|
-
}>>;
|
|
56
|
+
DELETE: (req: NextRequest) => Promise<NextResponse<string | undefined>>;
|
|
63
57
|
};
|
|
64
58
|
|
|
65
59
|
export { setupEmailAuth };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NextRequest, NextResponse } from 'next/server';
|
|
2
2
|
import { SetupEmailAuthOptions } from './types.js';
|
|
3
3
|
export { AuthFetch, AuthWrapper } from './next.js';
|
|
4
|
-
export { checkAuthStatus } from './token.js';
|
|
4
|
+
export { checkAuthStatus, getTokenizedResponse } from './token.js';
|
|
5
5
|
export { getContext } from './utils.js';
|
|
6
6
|
import '../types.js';
|
|
7
7
|
import 'react';
|
|
@@ -50,16 +50,10 @@ import '../../graphql/types.js';
|
|
|
50
50
|
*/
|
|
51
51
|
declare function setupEmailAuth(options: SetupEmailAuthOptions): {
|
|
52
52
|
OPTIONS?: ((req: NextRequest) => NextResponse<unknown>) | undefined;
|
|
53
|
-
GET: (req: NextRequest) => Promise<NextResponse<
|
|
54
|
-
accessToken: string | undefined;
|
|
55
|
-
refreshToken: string | undefined;
|
|
56
|
-
}>>;
|
|
53
|
+
GET: (req: NextRequest) => Promise<NextResponse<string | undefined>>;
|
|
57
54
|
POST: (req: NextRequest) => Promise<NextResponse<unknown> | undefined>;
|
|
58
55
|
PUT: (req: NextRequest) => Promise<NextResponse<unknown> | undefined>;
|
|
59
|
-
DELETE: (req: NextRequest) => Promise<NextResponse<
|
|
60
|
-
accessToken: string | undefined;
|
|
61
|
-
refreshToken: string | undefined;
|
|
62
|
-
}>>;
|
|
56
|
+
DELETE: (req: NextRequest) => Promise<NextResponse<string | undefined>>;
|
|
63
57
|
};
|
|
64
58
|
|
|
65
59
|
export { setupEmailAuth };
|
|
@@ -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
|
|
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
|
|
107
|
-
return sign({ id },
|
|
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
|
|
112
|
-
return sign({ id },
|
|
110
|
+
function generateRefreshToken(id) {
|
|
111
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */));
|
|
113
112
|
}
|
|
114
|
-
function getTokenizedResponse(
|
|
115
|
-
const
|
|
116
|
-
const
|
|
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) {
|
|
@@ -242,12 +242,12 @@ var getDeleteRoute = (options) => async (req) => {
|
|
|
242
242
|
const body = await req.json();
|
|
243
243
|
await options.onLogout?.(ctx.userId, body);
|
|
244
244
|
}
|
|
245
|
-
return getTokenizedResponse(
|
|
245
|
+
return getTokenizedResponse();
|
|
246
246
|
};
|
|
247
247
|
|
|
248
248
|
// src/auth/email/routes/get.ts
|
|
249
249
|
var getGetRoute = (options) => async (req) => {
|
|
250
|
-
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value ||
|
|
250
|
+
const refresh = req.cookies.get(REFRESH_COOKIE_NAME)?.value || void 0;
|
|
251
251
|
const userID = getUserIdFromRefreshToken(refresh);
|
|
252
252
|
if (userID) {
|
|
253
253
|
if (options.onRefresh) {
|
|
@@ -255,7 +255,7 @@ var getGetRoute = (options) => async (req) => {
|
|
|
255
255
|
await options.onRefresh?.(userID, body);
|
|
256
256
|
}
|
|
257
257
|
return getTokenizedResponse(
|
|
258
|
-
|
|
258
|
+
userID
|
|
259
259
|
);
|
|
260
260
|
}
|
|
261
261
|
return getTokenizedResponse();
|
|
@@ -270,11 +270,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
270
270
|
if (existingUser) {
|
|
271
271
|
if (await verifyUser(existingUser, data.password)) {
|
|
272
272
|
return getTokenizedResponse(
|
|
273
|
-
|
|
274
|
-
generateRefreshToken(
|
|
275
|
-
existingUser.id,
|
|
276
|
-
getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
277
|
-
)
|
|
273
|
+
existingUser.id
|
|
278
274
|
);
|
|
279
275
|
}
|
|
280
276
|
return handleError(400, "A user already exists", options.onError);
|
|
@@ -289,8 +285,7 @@ var getPostRoute = (options) => async (req) => {
|
|
|
289
285
|
await options.onSignUp?.(newUser.id, data);
|
|
290
286
|
}
|
|
291
287
|
return getTokenizedResponse(
|
|
292
|
-
|
|
293
|
-
generateRefreshToken(newUser.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
288
|
+
newUser.id
|
|
294
289
|
);
|
|
295
290
|
}
|
|
296
291
|
return getTokenizedResponse();
|
|
@@ -308,8 +303,7 @@ var getPutRoute = (options) => async (req) => {
|
|
|
308
303
|
await options.onLogin?.(user.id, data);
|
|
309
304
|
}
|
|
310
305
|
return getTokenizedResponse(
|
|
311
|
-
|
|
312
|
-
generateRefreshToken(user.id, getEnv("REFRESH_KEY" /* REFRESH_KEY */))
|
|
306
|
+
user.id
|
|
313
307
|
);
|
|
314
308
|
}
|
|
315
309
|
return handleError(403, "Invalid password", options.onError);
|
|
@@ -374,8 +368,8 @@ function AuthFetch() {
|
|
|
374
368
|
}
|
|
375
369
|
);
|
|
376
370
|
}
|
|
377
|
-
function AuthWrapper({ children,
|
|
378
|
-
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true
|
|
371
|
+
function AuthWrapper({ children, skipInitialFetch }) {
|
|
372
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(AuthWrapperClient, { skipInitialFetch: true }, !skipInitialFetch && /* @__PURE__ */ React2.createElement(AuthFetch, null), children));
|
|
379
373
|
}
|
|
380
374
|
|
|
381
375
|
// src/auth/email/index.ts
|
|
@@ -405,5 +399,6 @@ export {
|
|
|
405
399
|
AuthWrapper,
|
|
406
400
|
checkAuthStatus,
|
|
407
401
|
getContext,
|
|
402
|
+
getTokenizedResponse,
|
|
408
403
|
setupEmailAuth
|
|
409
404
|
};
|
|
@@ -141,8 +141,8 @@ function AuthFetch() {
|
|
|
141
141
|
}
|
|
142
142
|
);
|
|
143
143
|
}
|
|
144
|
-
function AuthWrapper({ children,
|
|
145
|
-
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_client2.AuthWrapper, { skipInitialFetch: true
|
|
144
|
+
function AuthWrapper({ children, skipInitialFetch }) {
|
|
145
|
+
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));
|
|
146
146
|
}
|
|
147
147
|
// Annotate the CommonJS export names for ESM import in node:
|
|
148
148
|
0 && (module.exports = {
|
|
@@ -2,6 +2,6 @@ import React__default from 'react';
|
|
|
2
2
|
import { AuthWrapperProps } from './client.mjs';
|
|
3
3
|
|
|
4
4
|
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
|
-
declare function AuthWrapper({ children,
|
|
5
|
+
declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
6
6
|
|
|
7
7
|
export { AuthFetch, AuthWrapper };
|
|
@@ -2,6 +2,6 @@ import React__default from 'react';
|
|
|
2
2
|
import { AuthWrapperProps } from './client.js';
|
|
3
3
|
|
|
4
4
|
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
|
-
declare function AuthWrapper({ children,
|
|
5
|
+
declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
6
6
|
|
|
7
7
|
export { AuthFetch, AuthWrapper };
|