naystack 1.8.3 → 1.8.4
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 +51 -8
- package/dist/auth/client.d.mts +1 -0
- package/dist/auth/client.d.ts +1 -0
- package/dist/auth/client.esm.js +48 -8
- package/dist/auth/email/client.cjs.js +51 -8
- package/dist/auth/email/client.d.mts +1 -0
- package/dist/auth/email/client.d.ts +1 -0
- package/dist/auth/email/client.esm.js +48 -8
- package/dist/auth/email/index.cjs.js +4 -2
- package/dist/auth/email/index.d.mts +1 -0
- package/dist/auth/email/index.d.ts +1 -0
- package/dist/auth/email/index.esm.js +4 -2
- package/dist/auth/email/next.d.mts +1 -0
- package/dist/auth/email/next.d.ts +1 -0
- package/dist/auth/email/routes/delete.cjs.js +4 -2
- package/dist/auth/email/routes/delete.esm.js +4 -2
- package/dist/auth/email/routes/get.cjs.js +4 -2
- package/dist/auth/email/routes/get.esm.js +4 -2
- package/dist/auth/email/routes/post.cjs.js +4 -2
- package/dist/auth/email/routes/post.esm.js +4 -2
- package/dist/auth/email/routes/put.cjs.js +4 -2
- package/dist/auth/email/routes/put.esm.js +4 -2
- package/dist/auth/email/token.cjs.js +4 -2
- package/dist/auth/email/token.d.mts +2 -2
- package/dist/auth/email/token.d.ts +2 -2
- package/dist/auth/email/token.esm.js +4 -2
- package/dist/auth/google/get.cjs.js +3 -1
- package/dist/auth/google/get.esm.js +3 -1
- package/dist/auth/google/index.cjs.js +3 -1
- package/dist/auth/google/index.esm.js +3 -1
- package/dist/auth/index.cjs.js +4 -2
- package/dist/auth/index.d.mts +1 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.esm.js +4 -2
- package/dist/auth/token-store.cjs.js +120 -0
- package/dist/auth/token-store.d.mts +42 -0
- package/dist/auth/token-store.d.ts +42 -0
- package/dist/auth/token-store.esm.js +90 -0
- package/dist/graphql/client.cjs.js +109 -35
- package/dist/graphql/client.esm.js +102 -29
- package/dist/graphql/links.cjs.js +154 -0
- package/dist/graphql/links.d.mts +14 -0
- package/dist/graphql/links.d.ts +14 -0
- package/dist/graphql/links.esm.js +129 -0
- package/dist/graphql/next.cjs.js +95 -21
- package/dist/graphql/next.esm.js +95 -21
- package/package.json +1 -1
package/dist/auth/client.cjs.js
CHANGED
|
@@ -34,6 +34,9 @@ __export(client_exports, {
|
|
|
34
34
|
AuthApply: () => AuthApply,
|
|
35
35
|
AuthWrapper: () => AuthWrapper,
|
|
36
36
|
TokenContext: () => TokenContext,
|
|
37
|
+
getAccessToken: () => getAccessToken,
|
|
38
|
+
refreshAccessToken: () => refreshAccessToken,
|
|
39
|
+
setAccessToken: () => setAccessToken,
|
|
37
40
|
useAuthFetch: () => useAuthFetch,
|
|
38
41
|
useLogin: () => useLogin,
|
|
39
42
|
useLogout: () => useLogout,
|
|
@@ -96,6 +99,41 @@ function getEnv(key, skipCheck) {
|
|
|
96
99
|
return value;
|
|
97
100
|
}
|
|
98
101
|
|
|
102
|
+
// src/auth/token-store.ts
|
|
103
|
+
var currentToken;
|
|
104
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
105
|
+
var inFlightRefresh = null;
|
|
106
|
+
function getAccessToken() {
|
|
107
|
+
return currentToken;
|
|
108
|
+
}
|
|
109
|
+
function setAccessToken(token) {
|
|
110
|
+
if (token === currentToken) return;
|
|
111
|
+
currentToken = token;
|
|
112
|
+
listeners.forEach((listener) => listener(token));
|
|
113
|
+
}
|
|
114
|
+
function subscribeToAccessToken(listener) {
|
|
115
|
+
listeners.add(listener);
|
|
116
|
+
return () => {
|
|
117
|
+
listeners.delete(listener);
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function refreshAccessToken() {
|
|
121
|
+
if (inFlightRefresh) return inFlightRefresh;
|
|
122
|
+
inFlightRefresh = (async () => {
|
|
123
|
+
const res = await fetch(
|
|
124
|
+
getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
|
|
125
|
+
{ credentials: "include" }
|
|
126
|
+
);
|
|
127
|
+
if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
|
|
128
|
+
const token = await res.text() || null;
|
|
129
|
+
setAccessToken(token);
|
|
130
|
+
return token;
|
|
131
|
+
})().finally(() => {
|
|
132
|
+
inFlightRefresh = null;
|
|
133
|
+
});
|
|
134
|
+
return inFlightRefresh;
|
|
135
|
+
}
|
|
136
|
+
|
|
99
137
|
// src/auth/email/client.tsx
|
|
100
138
|
var TokenContext = (0, import_react.createContext)({
|
|
101
139
|
token: void 0,
|
|
@@ -105,7 +143,15 @@ var AuthWrapper = ({
|
|
|
105
143
|
children,
|
|
106
144
|
skipInitialFetch
|
|
107
145
|
}) => {
|
|
108
|
-
const [token,
|
|
146
|
+
const [token, setTokenState] = (0, import_react.useState)(
|
|
147
|
+
getAccessToken
|
|
148
|
+
);
|
|
149
|
+
(0, import_react.useEffect)(() => subscribeToAccessToken(setTokenState), []);
|
|
150
|
+
const setToken = (0, import_react.useCallback)((action) => {
|
|
151
|
+
setAccessToken(
|
|
152
|
+
typeof action === "function" ? action(getAccessToken()) : action
|
|
153
|
+
);
|
|
154
|
+
}, []);
|
|
109
155
|
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
|
|
110
156
|
};
|
|
111
157
|
function AuthChildComponent() {
|
|
@@ -113,15 +159,9 @@ function AuthChildComponent() {
|
|
|
113
159
|
return null;
|
|
114
160
|
}
|
|
115
161
|
function useAuthFetch({ skip } = {}) {
|
|
116
|
-
const setToken = useSetToken();
|
|
117
|
-
const fetchToken = async () => {
|
|
118
|
-
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
119
|
-
credentials: "include"
|
|
120
|
-
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
121
|
-
};
|
|
122
162
|
(0, import_react.useEffect)(() => {
|
|
123
163
|
if (skip) return;
|
|
124
|
-
|
|
164
|
+
void refreshAccessToken().catch(() => null);
|
|
125
165
|
}, []);
|
|
126
166
|
}
|
|
127
167
|
function AuthApply({ data }) {
|
|
@@ -204,6 +244,9 @@ function useLogout() {
|
|
|
204
244
|
AuthApply,
|
|
205
245
|
AuthWrapper,
|
|
206
246
|
TokenContext,
|
|
247
|
+
getAccessToken,
|
|
248
|
+
refreshAccessToken,
|
|
249
|
+
setAccessToken,
|
|
207
250
|
useAuthFetch,
|
|
208
251
|
useLogin,
|
|
209
252
|
useLogout,
|
package/dist/auth/client.d.mts
CHANGED
package/dist/auth/client.d.ts
CHANGED
package/dist/auth/client.esm.js
CHANGED
|
@@ -59,6 +59,41 @@ function getEnv(key, skipCheck) {
|
|
|
59
59
|
return value;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
// src/auth/token-store.ts
|
|
63
|
+
var currentToken;
|
|
64
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
65
|
+
var inFlightRefresh = null;
|
|
66
|
+
function getAccessToken() {
|
|
67
|
+
return currentToken;
|
|
68
|
+
}
|
|
69
|
+
function setAccessToken(token) {
|
|
70
|
+
if (token === currentToken) return;
|
|
71
|
+
currentToken = token;
|
|
72
|
+
listeners.forEach((listener) => listener(token));
|
|
73
|
+
}
|
|
74
|
+
function subscribeToAccessToken(listener) {
|
|
75
|
+
listeners.add(listener);
|
|
76
|
+
return () => {
|
|
77
|
+
listeners.delete(listener);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function refreshAccessToken() {
|
|
81
|
+
if (inFlightRefresh) return inFlightRefresh;
|
|
82
|
+
inFlightRefresh = (async () => {
|
|
83
|
+
const res = await fetch(
|
|
84
|
+
getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
|
|
85
|
+
{ credentials: "include" }
|
|
86
|
+
);
|
|
87
|
+
if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
|
|
88
|
+
const token = await res.text() || null;
|
|
89
|
+
setAccessToken(token);
|
|
90
|
+
return token;
|
|
91
|
+
})().finally(() => {
|
|
92
|
+
inFlightRefresh = null;
|
|
93
|
+
});
|
|
94
|
+
return inFlightRefresh;
|
|
95
|
+
}
|
|
96
|
+
|
|
62
97
|
// src/auth/email/client.tsx
|
|
63
98
|
var TokenContext = createContext({
|
|
64
99
|
token: void 0,
|
|
@@ -68,7 +103,15 @@ var AuthWrapper = ({
|
|
|
68
103
|
children,
|
|
69
104
|
skipInitialFetch
|
|
70
105
|
}) => {
|
|
71
|
-
const [token,
|
|
106
|
+
const [token, setTokenState] = useState(
|
|
107
|
+
getAccessToken
|
|
108
|
+
);
|
|
109
|
+
useEffect(() => subscribeToAccessToken(setTokenState), []);
|
|
110
|
+
const setToken = useCallback((action) => {
|
|
111
|
+
setAccessToken(
|
|
112
|
+
typeof action === "function" ? action(getAccessToken()) : action
|
|
113
|
+
);
|
|
114
|
+
}, []);
|
|
72
115
|
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
|
|
73
116
|
};
|
|
74
117
|
function AuthChildComponent() {
|
|
@@ -76,15 +119,9 @@ function AuthChildComponent() {
|
|
|
76
119
|
return null;
|
|
77
120
|
}
|
|
78
121
|
function useAuthFetch({ skip } = {}) {
|
|
79
|
-
const setToken = useSetToken();
|
|
80
|
-
const fetchToken = async () => {
|
|
81
|
-
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
82
|
-
credentials: "include"
|
|
83
|
-
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
84
|
-
};
|
|
85
122
|
useEffect(() => {
|
|
86
123
|
if (skip) return;
|
|
87
|
-
|
|
124
|
+
void refreshAccessToken().catch(() => null);
|
|
88
125
|
}, []);
|
|
89
126
|
}
|
|
90
127
|
function AuthApply({ data }) {
|
|
@@ -166,6 +203,9 @@ export {
|
|
|
166
203
|
AuthApply,
|
|
167
204
|
AuthWrapper,
|
|
168
205
|
TokenContext,
|
|
206
|
+
getAccessToken,
|
|
207
|
+
refreshAccessToken,
|
|
208
|
+
setAccessToken,
|
|
169
209
|
useAuthFetch,
|
|
170
210
|
useLogin,
|
|
171
211
|
useLogout,
|
|
@@ -34,6 +34,9 @@ __export(client_exports, {
|
|
|
34
34
|
AuthApply: () => AuthApply,
|
|
35
35
|
AuthWrapper: () => AuthWrapper,
|
|
36
36
|
TokenContext: () => TokenContext,
|
|
37
|
+
getAccessToken: () => getAccessToken,
|
|
38
|
+
refreshAccessToken: () => refreshAccessToken,
|
|
39
|
+
setAccessToken: () => setAccessToken,
|
|
37
40
|
useAuthFetch: () => useAuthFetch,
|
|
38
41
|
useLogin: () => useLogin,
|
|
39
42
|
useLogout: () => useLogout,
|
|
@@ -94,6 +97,41 @@ function getEnv(key, skipCheck) {
|
|
|
94
97
|
return value;
|
|
95
98
|
}
|
|
96
99
|
|
|
100
|
+
// src/auth/token-store.ts
|
|
101
|
+
var currentToken;
|
|
102
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
103
|
+
var inFlightRefresh = null;
|
|
104
|
+
function getAccessToken() {
|
|
105
|
+
return currentToken;
|
|
106
|
+
}
|
|
107
|
+
function setAccessToken(token) {
|
|
108
|
+
if (token === currentToken) return;
|
|
109
|
+
currentToken = token;
|
|
110
|
+
listeners.forEach((listener) => listener(token));
|
|
111
|
+
}
|
|
112
|
+
function subscribeToAccessToken(listener) {
|
|
113
|
+
listeners.add(listener);
|
|
114
|
+
return () => {
|
|
115
|
+
listeners.delete(listener);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
function refreshAccessToken() {
|
|
119
|
+
if (inFlightRefresh) return inFlightRefresh;
|
|
120
|
+
inFlightRefresh = (async () => {
|
|
121
|
+
const res = await fetch(
|
|
122
|
+
getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
|
|
123
|
+
{ credentials: "include" }
|
|
124
|
+
);
|
|
125
|
+
if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
|
|
126
|
+
const token = await res.text() || null;
|
|
127
|
+
setAccessToken(token);
|
|
128
|
+
return token;
|
|
129
|
+
})().finally(() => {
|
|
130
|
+
inFlightRefresh = null;
|
|
131
|
+
});
|
|
132
|
+
return inFlightRefresh;
|
|
133
|
+
}
|
|
134
|
+
|
|
97
135
|
// src/auth/email/client.tsx
|
|
98
136
|
var TokenContext = (0, import_react.createContext)({
|
|
99
137
|
token: void 0,
|
|
@@ -103,7 +141,15 @@ var AuthWrapper = ({
|
|
|
103
141
|
children,
|
|
104
142
|
skipInitialFetch
|
|
105
143
|
}) => {
|
|
106
|
-
const [token,
|
|
144
|
+
const [token, setTokenState] = (0, import_react.useState)(
|
|
145
|
+
getAccessToken
|
|
146
|
+
);
|
|
147
|
+
(0, import_react.useEffect)(() => subscribeToAccessToken(setTokenState), []);
|
|
148
|
+
const setToken = (0, import_react.useCallback)((action) => {
|
|
149
|
+
setAccessToken(
|
|
150
|
+
typeof action === "function" ? action(getAccessToken()) : action
|
|
151
|
+
);
|
|
152
|
+
}, []);
|
|
107
153
|
return /* @__PURE__ */ import_react.default.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ import_react.default.createElement(AuthChildComponent, null), children);
|
|
108
154
|
};
|
|
109
155
|
function AuthChildComponent() {
|
|
@@ -111,15 +157,9 @@ function AuthChildComponent() {
|
|
|
111
157
|
return null;
|
|
112
158
|
}
|
|
113
159
|
function useAuthFetch({ skip } = {}) {
|
|
114
|
-
const setToken = useSetToken();
|
|
115
|
-
const fetchToken = async () => {
|
|
116
|
-
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
117
|
-
credentials: "include"
|
|
118
|
-
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
119
|
-
};
|
|
120
160
|
(0, import_react.useEffect)(() => {
|
|
121
161
|
if (skip) return;
|
|
122
|
-
|
|
162
|
+
void refreshAccessToken().catch(() => null);
|
|
123
163
|
}, []);
|
|
124
164
|
}
|
|
125
165
|
function AuthApply({ data }) {
|
|
@@ -202,6 +242,9 @@ function useLogout() {
|
|
|
202
242
|
AuthApply,
|
|
203
243
|
AuthWrapper,
|
|
204
244
|
TokenContext,
|
|
245
|
+
getAccessToken,
|
|
246
|
+
refreshAccessToken,
|
|
247
|
+
setAccessToken,
|
|
205
248
|
useAuthFetch,
|
|
206
249
|
useLogin,
|
|
207
250
|
useLogout,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
|
|
2
|
+
export { getAccessToken, refreshAccessToken, setAccessToken } from '../token-store.mjs';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React__default, { Dispatch, SetStateAction, PropsWithChildren } from 'react';
|
|
2
|
+
export { getAccessToken, refreshAccessToken, setAccessToken } from '../token-store.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* React context holding the current access token and setter; used by useToken/useSetToken and auth hooks.
|
|
@@ -59,6 +59,41 @@ function getEnv(key, skipCheck) {
|
|
|
59
59
|
return value;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
// src/auth/token-store.ts
|
|
63
|
+
var currentToken;
|
|
64
|
+
var listeners = /* @__PURE__ */ new Set();
|
|
65
|
+
var inFlightRefresh = null;
|
|
66
|
+
function getAccessToken() {
|
|
67
|
+
return currentToken;
|
|
68
|
+
}
|
|
69
|
+
function setAccessToken(token) {
|
|
70
|
+
if (token === currentToken) return;
|
|
71
|
+
currentToken = token;
|
|
72
|
+
listeners.forEach((listener) => listener(token));
|
|
73
|
+
}
|
|
74
|
+
function subscribeToAccessToken(listener) {
|
|
75
|
+
listeners.add(listener);
|
|
76
|
+
return () => {
|
|
77
|
+
listeners.delete(listener);
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function refreshAccessToken() {
|
|
81
|
+
if (inFlightRefresh) return inFlightRefresh;
|
|
82
|
+
inFlightRefresh = (async () => {
|
|
83
|
+
const res = await fetch(
|
|
84
|
+
getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */),
|
|
85
|
+
{ credentials: "include" }
|
|
86
|
+
);
|
|
87
|
+
if (!res.ok) throw new Error(`Token refresh failed: ${res.status}`);
|
|
88
|
+
const token = await res.text() || null;
|
|
89
|
+
setAccessToken(token);
|
|
90
|
+
return token;
|
|
91
|
+
})().finally(() => {
|
|
92
|
+
inFlightRefresh = null;
|
|
93
|
+
});
|
|
94
|
+
return inFlightRefresh;
|
|
95
|
+
}
|
|
96
|
+
|
|
62
97
|
// src/auth/email/client.tsx
|
|
63
98
|
var TokenContext = createContext({
|
|
64
99
|
token: void 0,
|
|
@@ -68,7 +103,15 @@ var AuthWrapper = ({
|
|
|
68
103
|
children,
|
|
69
104
|
skipInitialFetch
|
|
70
105
|
}) => {
|
|
71
|
-
const [token,
|
|
106
|
+
const [token, setTokenState] = useState(
|
|
107
|
+
getAccessToken
|
|
108
|
+
);
|
|
109
|
+
useEffect(() => subscribeToAccessToken(setTokenState), []);
|
|
110
|
+
const setToken = useCallback((action) => {
|
|
111
|
+
setAccessToken(
|
|
112
|
+
typeof action === "function" ? action(getAccessToken()) : action
|
|
113
|
+
);
|
|
114
|
+
}, []);
|
|
72
115
|
return /* @__PURE__ */ React.createElement(TokenContext.Provider, { value: { token, setToken } }, !skipInitialFetch && /* @__PURE__ */ React.createElement(AuthChildComponent, null), children);
|
|
73
116
|
};
|
|
74
117
|
function AuthChildComponent() {
|
|
@@ -76,15 +119,9 @@ function AuthChildComponent() {
|
|
|
76
119
|
return null;
|
|
77
120
|
}
|
|
78
121
|
function useAuthFetch({ skip } = {}) {
|
|
79
|
-
const setToken = useSetToken();
|
|
80
|
-
const fetchToken = async () => {
|
|
81
|
-
fetch(getEnv("NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT" /* NEXT_PUBLIC_EMAIL_AUTH_ENDPOINT */), {
|
|
82
|
-
credentials: "include"
|
|
83
|
-
}).then((res) => res.text()).then((accessToken) => setToken(accessToken || null));
|
|
84
|
-
};
|
|
85
122
|
useEffect(() => {
|
|
86
123
|
if (skip) return;
|
|
87
|
-
|
|
124
|
+
void refreshAccessToken().catch(() => null);
|
|
88
125
|
}, []);
|
|
89
126
|
}
|
|
90
127
|
function AuthApply({ data }) {
|
|
@@ -166,6 +203,9 @@ export {
|
|
|
166
203
|
AuthApply,
|
|
167
204
|
AuthWrapper,
|
|
168
205
|
TokenContext,
|
|
206
|
+
getAccessToken,
|
|
207
|
+
refreshAccessToken,
|
|
208
|
+
setAccessToken,
|
|
169
209
|
useAuthFetch,
|
|
170
210
|
useLogin,
|
|
171
211
|
useLogout,
|
|
@@ -143,11 +143,13 @@ function getEnv(key, skipCheck) {
|
|
|
143
143
|
// src/auth/email/token.ts
|
|
144
144
|
function generateAccessToken(id) {
|
|
145
145
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
146
|
-
expiresIn: "
|
|
146
|
+
expiresIn: "24h"
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
149
|
function generateRefreshToken(id) {
|
|
150
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
150
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
151
|
+
expiresIn: "365d"
|
|
152
|
+
});
|
|
151
153
|
}
|
|
152
154
|
function getTokenizedResponse(id) {
|
|
153
155
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -104,11 +104,13 @@ function getEnv(key, skipCheck) {
|
|
|
104
104
|
// src/auth/email/token.ts
|
|
105
105
|
function generateAccessToken(id) {
|
|
106
106
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
107
|
-
expiresIn: "
|
|
107
|
+
expiresIn: "24h"
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
function generateRefreshToken(id) {
|
|
111
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
111
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
112
|
+
expiresIn: "365d"
|
|
113
|
+
});
|
|
112
114
|
}
|
|
113
115
|
function getTokenizedResponse(id) {
|
|
114
116
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { AuthWrapperProps } from './client.mjs';
|
|
3
|
+
import '../token-store.mjs';
|
|
3
4
|
|
|
4
5
|
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
6
|
declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { AuthWrapperProps } from './client.js';
|
|
3
|
+
import '../token-store.js';
|
|
3
4
|
|
|
4
5
|
declare function AuthFetch(): React__default.JSX.Element;
|
|
5
6
|
declare function AuthWrapper({ children, skipInitialFetch }: AuthWrapperProps): React__default.JSX.Element;
|
|
@@ -87,11 +87,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
87
87
|
// src/auth/email/token.ts
|
|
88
88
|
function generateAccessToken(id) {
|
|
89
89
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
90
|
-
expiresIn: "
|
|
90
|
+
expiresIn: "24h"
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
function generateRefreshToken(id) {
|
|
94
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
94
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
95
|
+
expiresIn: "365d"
|
|
96
|
+
});
|
|
95
97
|
}
|
|
96
98
|
function getTokenizedResponse(id) {
|
|
97
99
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -61,11 +61,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
61
61
|
// src/auth/email/token.ts
|
|
62
62
|
function generateAccessToken(id) {
|
|
63
63
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
64
|
-
expiresIn: "
|
|
64
|
+
expiresIn: "24h"
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
function generateRefreshToken(id) {
|
|
68
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
68
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
69
|
+
expiresIn: "365d"
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
function getTokenizedResponse(id) {
|
|
71
73
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -87,11 +87,13 @@ function getEnv(key, skipCheck) {
|
|
|
87
87
|
// src/auth/email/token.ts
|
|
88
88
|
function generateAccessToken(id) {
|
|
89
89
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
90
|
-
expiresIn: "
|
|
90
|
+
expiresIn: "24h"
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
93
|
function generateRefreshToken(id) {
|
|
94
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
94
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
95
|
+
expiresIn: "365d"
|
|
96
|
+
});
|
|
95
97
|
}
|
|
96
98
|
function getTokenizedResponse(id) {
|
|
97
99
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -61,11 +61,13 @@ function getEnv(key, skipCheck) {
|
|
|
61
61
|
// src/auth/email/token.ts
|
|
62
62
|
function generateAccessToken(id) {
|
|
63
63
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
64
|
-
expiresIn: "
|
|
64
|
+
expiresIn: "24h"
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
function generateRefreshToken(id) {
|
|
68
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
68
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
69
|
+
expiresIn: "365d"
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
function getTokenizedResponse(id) {
|
|
71
73
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -96,11 +96,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
96
96
|
// src/auth/email/token.ts
|
|
97
97
|
function generateAccessToken(id) {
|
|
98
98
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
99
|
-
expiresIn: "
|
|
99
|
+
expiresIn: "24h"
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
102
|
function generateRefreshToken(id) {
|
|
103
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
103
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
104
|
+
expiresIn: "365d"
|
|
105
|
+
});
|
|
104
106
|
}
|
|
105
107
|
function getTokenizedResponse(id) {
|
|
106
108
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -72,11 +72,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
72
72
|
// src/auth/email/token.ts
|
|
73
73
|
function generateAccessToken(id) {
|
|
74
74
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
75
|
-
expiresIn: "
|
|
75
|
+
expiresIn: "24h"
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
78
|
function generateRefreshToken(id) {
|
|
79
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
79
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
80
|
+
expiresIn: "365d"
|
|
81
|
+
});
|
|
80
82
|
}
|
|
81
83
|
function getTokenizedResponse(id) {
|
|
82
84
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -95,11 +95,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
95
95
|
// src/auth/email/token.ts
|
|
96
96
|
function generateAccessToken(id) {
|
|
97
97
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
98
|
-
expiresIn: "
|
|
98
|
+
expiresIn: "24h"
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
function generateRefreshToken(id) {
|
|
102
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
102
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
103
|
+
expiresIn: "365d"
|
|
104
|
+
});
|
|
103
105
|
}
|
|
104
106
|
function getTokenizedResponse(id) {
|
|
105
107
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -69,11 +69,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
69
69
|
// src/auth/email/token.ts
|
|
70
70
|
function generateAccessToken(id) {
|
|
71
71
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
72
|
-
expiresIn: "
|
|
72
|
+
expiresIn: "24h"
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
function generateRefreshToken(id) {
|
|
76
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
76
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
77
|
+
expiresIn: "365d"
|
|
78
|
+
});
|
|
77
79
|
}
|
|
78
80
|
function getTokenizedResponse(id) {
|
|
79
81
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -91,11 +91,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
91
91
|
// src/auth/email/token.ts
|
|
92
92
|
function generateAccessToken(id) {
|
|
93
93
|
return (0, import_jsonwebtoken.sign)({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
94
|
-
expiresIn: "
|
|
94
|
+
expiresIn: "24h"
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
function generateRefreshToken(id) {
|
|
98
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
98
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
99
|
+
expiresIn: "365d"
|
|
100
|
+
});
|
|
99
101
|
}
|
|
100
102
|
function getTokenizedResponse(id) {
|
|
101
103
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -2,14 +2,14 @@ import { NextResponse } from 'next/server';
|
|
|
2
2
|
import { UserOutput } from '../types.mjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Generates a JWT access token for the user (
|
|
5
|
+
* Generates a JWT access token for the user (24-hour expiry).
|
|
6
6
|
* @param id - User id to encode in the JWT payload.
|
|
7
7
|
* @returns Signed JWT string.
|
|
8
8
|
* @category Auth
|
|
9
9
|
*/
|
|
10
10
|
declare function generateAccessToken(id: number): string;
|
|
11
11
|
/**
|
|
12
|
-
* Generates a JWT refresh token for the user (
|
|
12
|
+
* Generates a JWT refresh token for the user (1-year expiry, matching the httpOnly cookie).
|
|
13
13
|
* @param id - User id to encode in the JWT payload.
|
|
14
14
|
* @returns Signed JWT string.
|
|
15
15
|
* @category Auth
|
|
@@ -2,14 +2,14 @@ import { NextResponse } from 'next/server';
|
|
|
2
2
|
import { UserOutput } from '../types.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Generates a JWT access token for the user (
|
|
5
|
+
* Generates a JWT access token for the user (24-hour expiry).
|
|
6
6
|
* @param id - User id to encode in the JWT payload.
|
|
7
7
|
* @returns Signed JWT string.
|
|
8
8
|
* @category Auth
|
|
9
9
|
*/
|
|
10
10
|
declare function generateAccessToken(id: number): string;
|
|
11
11
|
/**
|
|
12
|
-
* Generates a JWT refresh token for the user (
|
|
12
|
+
* Generates a JWT refresh token for the user (1-year expiry, matching the httpOnly cookie).
|
|
13
13
|
* @param id - User id to encode in the JWT payload.
|
|
14
14
|
* @returns Signed JWT string.
|
|
15
15
|
* @category Auth
|
|
@@ -61,11 +61,13 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
61
61
|
// src/auth/email/token.ts
|
|
62
62
|
function generateAccessToken(id) {
|
|
63
63
|
return sign({ id }, getEnv("SIGNING_KEY" /* SIGNING_KEY */), {
|
|
64
|
-
expiresIn: "
|
|
64
|
+
expiresIn: "24h"
|
|
65
65
|
});
|
|
66
66
|
}
|
|
67
67
|
function generateRefreshToken(id) {
|
|
68
|
-
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
68
|
+
return sign({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
69
|
+
expiresIn: "365d"
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
function getTokenizedResponse(id) {
|
|
71
73
|
const accessToken = id ? generateAccessToken(id) : void 0;
|
|
@@ -89,7 +89,9 @@ var REFRESH_COOKIE_NAME = "refresh";
|
|
|
89
89
|
|
|
90
90
|
// src/auth/email/token.ts
|
|
91
91
|
function generateRefreshToken(id) {
|
|
92
|
-
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */)
|
|
92
|
+
return (0, import_jsonwebtoken.sign)({ id }, getEnv("REFRESH_KEY" /* REFRESH_KEY */), {
|
|
93
|
+
expiresIn: "365d"
|
|
94
|
+
});
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
// src/auth/google/get.ts
|