@nhost/nhost-js 3.2.7 → 5.0.0-beta.1
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/LICENSE +1 -1
- package/README.md +67 -37
- package/dist/nhost-js/auth.cjs.js +2 -0
- package/dist/nhost-js/auth.cjs.js.map +1 -0
- package/dist/nhost-js/auth.es.js +261 -0
- package/dist/nhost-js/auth.es.js.map +1 -0
- package/dist/nhost-js/fetch.cjs.js +2 -0
- package/dist/nhost-js/fetch.cjs.js.map +1 -0
- package/dist/nhost-js/fetch.es.js +10 -0
- package/dist/nhost-js/fetch.es.js.map +1 -0
- package/dist/nhost-js/graphql.cjs.js +2 -0
- package/dist/nhost-js/graphql.cjs.js.map +1 -0
- package/dist/nhost-js/graphql.es.js +35 -0
- package/dist/nhost-js/graphql.es.js.map +1 -0
- package/dist/nhost-js/storage.cjs.js +2 -0
- package/dist/nhost-js/storage.cjs.js.map +1 -0
- package/dist/nhost-js/storage.es.js +205 -0
- package/dist/nhost-js/storage.es.js.map +1 -0
- package/dist/nhost-js.cjs.js +2 -0
- package/dist/nhost-js.cjs.js.map +1 -0
- package/dist/nhost-js.es.js +476 -0
- package/dist/nhost-js.es.js.map +1 -0
- package/dist/nhost-js.umd.js +2 -0
- package/dist/nhost-js.umd.js.map +1 -0
- package/dist/src/auth/client.d.ts +415 -0
- package/dist/src/auth/client.d.ts.map +1 -0
- package/dist/src/auth/client.js +330 -0
- package/dist/src/auth/client.js.map +1 -0
- package/dist/src/auth/index.d.ts +11 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/index.js +11 -0
- package/dist/src/auth/index.js.map +1 -0
- package/dist/src/auth/interface.d.ts +72 -0
- package/dist/src/auth/interface.d.ts.map +1 -0
- package/dist/src/auth/interface.js +2 -0
- package/dist/src/auth/interface.js.map +1 -0
- package/dist/src/fetch/index.d.ts +53 -0
- package/dist/src/fetch/index.d.ts.map +1 -0
- package/dist/src/fetch/index.js +40 -0
- package/dist/src/fetch/index.js.map +1 -0
- package/dist/src/graphql/client.d.ts +89 -0
- package/dist/src/graphql/client.d.ts.map +1 -0
- package/dist/src/graphql/client.js +49 -0
- package/dist/src/graphql/client.js.map +1 -0
- package/dist/src/graphql/index.d.ts +10 -0
- package/dist/src/graphql/index.d.ts.map +1 -0
- package/dist/src/graphql/index.js +10 -0
- package/dist/src/graphql/index.js.map +1 -0
- package/dist/src/index.d.ts +169 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +237 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/middlewareAttachToken.d.ts +24 -0
- package/dist/src/middlewareAttachToken.d.ts.map +1 -0
- package/dist/src/middlewareAttachToken.js +60 -0
- package/dist/src/middlewareAttachToken.js.map +1 -0
- package/dist/src/middlewareRefreshSession.d.ts +43 -0
- package/dist/src/middlewareRefreshSession.d.ts.map +1 -0
- package/dist/src/middlewareRefreshSession.js +190 -0
- package/dist/src/middlewareRefreshSession.js.map +1 -0
- package/dist/src/middlewareResponseSession.d.ts +26 -0
- package/dist/src/middlewareResponseSession.d.ts.map +1 -0
- package/dist/src/middlewareResponseSession.js +83 -0
- package/dist/src/middlewareResponseSession.js.map +1 -0
- package/dist/src/sessionStorage.d.ts +123 -0
- package/dist/src/sessionStorage.d.ts.map +1 -0
- package/dist/src/sessionStorage.js +165 -0
- package/dist/src/sessionStorage.js.map +1 -0
- package/dist/src/storage/client.d.ts +184 -0
- package/dist/src/storage/client.d.ts.map +1 -0
- package/dist/src/storage/client.js +249 -0
- package/dist/src/storage/client.js.map +1 -0
- package/dist/src/storage/index.d.ts +11 -0
- package/dist/src/storage/index.d.ts.map +1 -0
- package/dist/src/storage/index.js +11 -0
- package/dist/src/storage/index.js.map +1 -0
- package/dist/src/storage/interface.d.ts +52 -0
- package/dist/src/storage/interface.d.ts.map +1 -0
- package/dist/src/storage/interface.js +2 -0
- package/dist/src/storage/interface.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +94 -60
- package/dist/clients/auth.d.ts +0 -8
- package/dist/clients/auth.d.ts.map +0 -1
- package/dist/clients/functions/index.d.ts +0 -107
- package/dist/clients/functions/index.d.ts.map +0 -1
- package/dist/clients/functions/types.d.ts +0 -28
- package/dist/clients/functions/types.d.ts.map +0 -1
- package/dist/clients/graphql.d.ts +0 -8
- package/dist/clients/graphql.d.ts.map +0 -1
- package/dist/clients/index.d.ts +0 -6
- package/dist/clients/index.d.ts.map +0 -1
- package/dist/clients/nhost.d.ts +0 -83
- package/dist/clients/nhost.d.ts.map +0 -1
- package/dist/clients/storage.d.ts +0 -8
- package/dist/clients/storage.d.ts.map +0 -1
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.esm.js +0 -344
- package/dist/index.esm.js.map +0 -1
- package/dist/utils/helpers.d.ts +0 -20
- package/dist/utils/helpers.d.ts.map +0 -1
- package/dist/utils/types.d.ts +0 -57
- package/dist/utils/types.d.ts.map +0 -1
- package/umd/nhost-js.umd.js +0 -22
- package/umd/nhost-js.umd.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/auth/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by orval v7.9.0 🍺
|
|
3
|
+
* Do not edit manually.
|
|
4
|
+
* Nhost Authentication API
|
|
5
|
+
* Comprehensive authentication service for managing user identities, sessions, and authentication methods
|
|
6
|
+
* OpenAPI spec version: 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { createEnhancedFetch } from "../fetch";
|
|
9
|
+
export const createAPIClient = (baseURL, chainFunctions = []) => {
|
|
10
|
+
let fetch = createEnhancedFetch(chainFunctions);
|
|
11
|
+
const pushChainFunction = (chainFunction) => {
|
|
12
|
+
chainFunctions.push(chainFunction);
|
|
13
|
+
fetch = createEnhancedFetch(chainFunctions);
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Verify if the authentication service is operational using HEAD method
|
|
17
|
+
* @summary Health check (HEAD)
|
|
18
|
+
*/
|
|
19
|
+
const healthCheckHead = async (options) => {
|
|
20
|
+
const res = await fetch(getHealthCheckHeadUrl(), {
|
|
21
|
+
...options,
|
|
22
|
+
method: "HEAD",
|
|
23
|
+
});
|
|
24
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
25
|
+
? null
|
|
26
|
+
: await res.text();
|
|
27
|
+
const payload = body ? JSON.parse(body) : {};
|
|
28
|
+
const response = {
|
|
29
|
+
body: payload,
|
|
30
|
+
status: res.status,
|
|
31
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
32
|
+
};
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
throw response;
|
|
35
|
+
}
|
|
36
|
+
return response;
|
|
37
|
+
};
|
|
38
|
+
const getHealthCheckHeadUrl = () => {
|
|
39
|
+
return baseURL + `/healthz`;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Verify if the authentication service is operational using GET method
|
|
43
|
+
* @summary Health check (GET)
|
|
44
|
+
*/
|
|
45
|
+
const healthCheckGet = async (options) => {
|
|
46
|
+
const res = await fetch(getHealthCheckGetUrl(), {
|
|
47
|
+
...options,
|
|
48
|
+
method: "GET",
|
|
49
|
+
});
|
|
50
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
51
|
+
? null
|
|
52
|
+
: await res.text();
|
|
53
|
+
const payload = body ? JSON.parse(body) : {};
|
|
54
|
+
const response = {
|
|
55
|
+
body: payload,
|
|
56
|
+
status: res.status,
|
|
57
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
58
|
+
};
|
|
59
|
+
if (!res.ok) {
|
|
60
|
+
throw response;
|
|
61
|
+
}
|
|
62
|
+
return response;
|
|
63
|
+
};
|
|
64
|
+
const getHealthCheckGetUrl = () => {
|
|
65
|
+
return baseURL + `/healthz`;
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Retrieve version information about the authentication service
|
|
69
|
+
* @summary Get service version
|
|
70
|
+
*/
|
|
71
|
+
const getVersion = async (options) => {
|
|
72
|
+
const res = await fetch(getGetVersionUrl(), {
|
|
73
|
+
...options,
|
|
74
|
+
method: "GET",
|
|
75
|
+
});
|
|
76
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
77
|
+
? null
|
|
78
|
+
: await res.text();
|
|
79
|
+
const payload = body ? JSON.parse(body) : {};
|
|
80
|
+
const response = {
|
|
81
|
+
body: payload,
|
|
82
|
+
status: res.status,
|
|
83
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
84
|
+
};
|
|
85
|
+
if (!res.ok) {
|
|
86
|
+
throw response;
|
|
87
|
+
}
|
|
88
|
+
return response;
|
|
89
|
+
};
|
|
90
|
+
const getGetVersionUrl = () => {
|
|
91
|
+
return baseURL + `/version`;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Generate a new JWT access token using a valid refresh token. The refresh token used will be revoked and a new one will be issued.
|
|
95
|
+
* @summary Refresh access token
|
|
96
|
+
*/
|
|
97
|
+
const refreshToken = async (refreshTokenRequest, options) => {
|
|
98
|
+
const res = await fetch(getRefreshTokenUrl(), {
|
|
99
|
+
...options,
|
|
100
|
+
method: "POST",
|
|
101
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
102
|
+
body: JSON.stringify(refreshTokenRequest),
|
|
103
|
+
});
|
|
104
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
105
|
+
? null
|
|
106
|
+
: await res.text();
|
|
107
|
+
const payload = body ? JSON.parse(body) : {};
|
|
108
|
+
const response = {
|
|
109
|
+
body: payload,
|
|
110
|
+
status: res.status,
|
|
111
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
112
|
+
};
|
|
113
|
+
if (!res.ok) {
|
|
114
|
+
throw response;
|
|
115
|
+
}
|
|
116
|
+
return response;
|
|
117
|
+
};
|
|
118
|
+
const getRefreshTokenUrl = () => {
|
|
119
|
+
return baseURL + `/token`;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* @summary Sign out
|
|
123
|
+
*/
|
|
124
|
+
const signOut = async (signOutSchema, options) => {
|
|
125
|
+
const res = await fetch(getSignOutUrl(), {
|
|
126
|
+
...options,
|
|
127
|
+
method: "POST",
|
|
128
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
129
|
+
body: JSON.stringify(signOutSchema),
|
|
130
|
+
});
|
|
131
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
132
|
+
? null
|
|
133
|
+
: await res.text();
|
|
134
|
+
const payload = body ? JSON.parse(body) : {};
|
|
135
|
+
const response = {
|
|
136
|
+
body: payload,
|
|
137
|
+
status: res.status,
|
|
138
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
139
|
+
};
|
|
140
|
+
if (!res.ok) {
|
|
141
|
+
throw response;
|
|
142
|
+
}
|
|
143
|
+
return response;
|
|
144
|
+
};
|
|
145
|
+
const getSignOutUrl = () => {
|
|
146
|
+
return baseURL + `/signout`;
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Authenticate a user with their email and password. Returns a session object or MFA challenge if two-factor authentication is enabled.
|
|
150
|
+
* @summary Sign in with email and password
|
|
151
|
+
*/
|
|
152
|
+
const signInEmailPassword = async (signInEmailPasswordRequest, options) => {
|
|
153
|
+
const res = await fetch(getSignInEmailPasswordUrl(), {
|
|
154
|
+
...options,
|
|
155
|
+
method: "POST",
|
|
156
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
157
|
+
body: JSON.stringify(signInEmailPasswordRequest),
|
|
158
|
+
});
|
|
159
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
160
|
+
? null
|
|
161
|
+
: await res.text();
|
|
162
|
+
const payload = body ? JSON.parse(body) : {};
|
|
163
|
+
const response = {
|
|
164
|
+
body: payload,
|
|
165
|
+
status: res.status,
|
|
166
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
167
|
+
};
|
|
168
|
+
if (!res.ok) {
|
|
169
|
+
throw response;
|
|
170
|
+
}
|
|
171
|
+
return response;
|
|
172
|
+
};
|
|
173
|
+
const getSignInEmailPasswordUrl = () => {
|
|
174
|
+
return baseURL + `/signin/email-password`;
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Complete the multi-factor authentication by verifying a Time-based One-Time Password (TOTP). Returns a session if validation is successful.
|
|
178
|
+
* @summary Verify TOTP for MFA
|
|
179
|
+
*/
|
|
180
|
+
const signInVerifyMfaTotp = async (signInMfaTotpRequest, options) => {
|
|
181
|
+
const res = await fetch(getSignInVerifyMfaTotpUrl(), {
|
|
182
|
+
...options,
|
|
183
|
+
method: "POST",
|
|
184
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
185
|
+
body: JSON.stringify(signInMfaTotpRequest),
|
|
186
|
+
});
|
|
187
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
188
|
+
? null
|
|
189
|
+
: await res.text();
|
|
190
|
+
const payload = body ? JSON.parse(body) : {};
|
|
191
|
+
const response = {
|
|
192
|
+
body: payload,
|
|
193
|
+
status: res.status,
|
|
194
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
195
|
+
};
|
|
196
|
+
if (!res.ok) {
|
|
197
|
+
throw response;
|
|
198
|
+
}
|
|
199
|
+
return response;
|
|
200
|
+
};
|
|
201
|
+
const getSignInVerifyMfaTotpUrl = () => {
|
|
202
|
+
return baseURL + `/signin/mfa/totp`;
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Initiate passwordless authentication by sending a magic link to the user's email. If the user doesn't exist, a new account will be created with the provided options.
|
|
206
|
+
* @summary Sign in with magic link email
|
|
207
|
+
*/
|
|
208
|
+
const signInPasswordlessEmail = async (signInPasswordlessEmailRequest, options) => {
|
|
209
|
+
const res = await fetch(getSignInPasswordlessEmailUrl(), {
|
|
210
|
+
...options,
|
|
211
|
+
method: "POST",
|
|
212
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
213
|
+
body: JSON.stringify(signInPasswordlessEmailRequest),
|
|
214
|
+
});
|
|
215
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
216
|
+
? null
|
|
217
|
+
: await res.text();
|
|
218
|
+
const payload = body ? JSON.parse(body) : {};
|
|
219
|
+
const response = {
|
|
220
|
+
body: payload,
|
|
221
|
+
status: res.status,
|
|
222
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
223
|
+
};
|
|
224
|
+
if (!res.ok) {
|
|
225
|
+
throw response;
|
|
226
|
+
}
|
|
227
|
+
return response;
|
|
228
|
+
};
|
|
229
|
+
const getSignInPasswordlessEmailUrl = () => {
|
|
230
|
+
return baseURL + `/signin/passwordless/email`;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Register a new user account with email and password. Returns a session if email verification is not required, otherwise returns null session.
|
|
234
|
+
* @summary Sign up with email and password
|
|
235
|
+
*/
|
|
236
|
+
const signUpEmailPassword = async (signUpEmailPasswordRequest, options) => {
|
|
237
|
+
const res = await fetch(getSignUpEmailPasswordUrl(), {
|
|
238
|
+
...options,
|
|
239
|
+
method: "POST",
|
|
240
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
241
|
+
body: JSON.stringify(signUpEmailPasswordRequest),
|
|
242
|
+
});
|
|
243
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
244
|
+
? null
|
|
245
|
+
: await res.text();
|
|
246
|
+
const payload = body ? JSON.parse(body) : {};
|
|
247
|
+
const response = {
|
|
248
|
+
body: payload,
|
|
249
|
+
status: res.status,
|
|
250
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
251
|
+
};
|
|
252
|
+
if (!res.ok) {
|
|
253
|
+
throw response;
|
|
254
|
+
}
|
|
255
|
+
return response;
|
|
256
|
+
};
|
|
257
|
+
const getSignUpEmailPasswordUrl = () => {
|
|
258
|
+
return baseURL + `/signup/email-password`;
|
|
259
|
+
};
|
|
260
|
+
/**
|
|
261
|
+
* Activate or deactivate multi-factor authentication for the authenticated user
|
|
262
|
+
* @summary Manage multi-factor authentication
|
|
263
|
+
*/
|
|
264
|
+
const changeUserMfaVerify = async (userMfaRequest, options) => {
|
|
265
|
+
const res = await fetch(getChangeUserMfaVerifyUrl(), {
|
|
266
|
+
...options,
|
|
267
|
+
method: "POST",
|
|
268
|
+
headers: { "Content-Type": "application/json", ...options?.headers },
|
|
269
|
+
body: JSON.stringify(userMfaRequest),
|
|
270
|
+
});
|
|
271
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
272
|
+
? null
|
|
273
|
+
: await res.text();
|
|
274
|
+
const payload = body ? JSON.parse(body) : {};
|
|
275
|
+
const response = {
|
|
276
|
+
body: payload,
|
|
277
|
+
status: res.status,
|
|
278
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
279
|
+
};
|
|
280
|
+
if (!res.ok) {
|
|
281
|
+
throw response;
|
|
282
|
+
}
|
|
283
|
+
return response;
|
|
284
|
+
};
|
|
285
|
+
const getChangeUserMfaVerifyUrl = () => {
|
|
286
|
+
return baseURL + `/user/mfa`;
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* Generate a Time-based One-Time Password (TOTP) secret for setting up multi-factor authentication
|
|
290
|
+
* @summary Generate TOTP secret
|
|
291
|
+
*/
|
|
292
|
+
const changeUserMfa = async (options) => {
|
|
293
|
+
const res = await fetch(getChangeUserMfaUrl(), {
|
|
294
|
+
...options,
|
|
295
|
+
method: "GET",
|
|
296
|
+
});
|
|
297
|
+
const body = [204, 205, 304, 412].includes(res.status)
|
|
298
|
+
? null
|
|
299
|
+
: await res.text();
|
|
300
|
+
const payload = body ? JSON.parse(body) : {};
|
|
301
|
+
const response = {
|
|
302
|
+
body: payload,
|
|
303
|
+
status: res.status,
|
|
304
|
+
headers: Object.fromEntries(Array.from(res.headers.entries())),
|
|
305
|
+
};
|
|
306
|
+
if (!res.ok) {
|
|
307
|
+
throw response;
|
|
308
|
+
}
|
|
309
|
+
return response;
|
|
310
|
+
};
|
|
311
|
+
const getChangeUserMfaUrl = () => {
|
|
312
|
+
return baseURL + `/mfa/totp/generate`;
|
|
313
|
+
};
|
|
314
|
+
return {
|
|
315
|
+
healthCheckHead,
|
|
316
|
+
healthCheckGet,
|
|
317
|
+
getVersion,
|
|
318
|
+
refreshToken,
|
|
319
|
+
signOut,
|
|
320
|
+
signInEmailPassword,
|
|
321
|
+
signInVerifyMfaTotp,
|
|
322
|
+
signInPasswordlessEmail,
|
|
323
|
+
signUpEmailPassword,
|
|
324
|
+
changeUserMfaVerify,
|
|
325
|
+
changeUserMfa,
|
|
326
|
+
pushChainFunction,
|
|
327
|
+
baseURL,
|
|
328
|
+
};
|
|
329
|
+
};
|
|
330
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/auth/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is the main module to interact with Nhost's Auth service.
|
|
3
|
+
* Typically you would use this modula via the main [Nhost client](main#createclient)
|
|
4
|
+
* but you can also use it directly if you have a specific use case.
|
|
5
|
+
*
|
|
6
|
+
* @module auth
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
export * from "./client";
|
|
10
|
+
export * from "./interface";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is the main module to interact with Nhost's Auth service.
|
|
3
|
+
* Typically you would use this modula via the main [Nhost client](main#createclient)
|
|
4
|
+
* but you can also use it directly if you have a specific use case.
|
|
5
|
+
*
|
|
6
|
+
* @module auth
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
export * from "./client";
|
|
10
|
+
export * from "./interface";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { FetchResponse, OKResponse, GetVersion200, SignInEmailPasswordRequest, SignInEmailPasswordResponse, SignInMfaTotpRequest, SignInPasswordlessEmailRequest, RefreshTokenRequest, Session, SessionPayload, SignOutSchema, SignUpEmailPasswordRequest, TotpGenerateResponse, UserMfaRequest } from "./client";
|
|
2
|
+
import type { ChainFunction } from "../fetch";
|
|
3
|
+
/**
|
|
4
|
+
* Authentication client interface providing methods for user sign-in, sign-up, and session management
|
|
5
|
+
*/
|
|
6
|
+
export interface Client {
|
|
7
|
+
/**
|
|
8
|
+
* Base URL for the authentication service
|
|
9
|
+
*/
|
|
10
|
+
baseURL: string;
|
|
11
|
+
/**
|
|
12
|
+
* Add a middleware function to the request chain
|
|
13
|
+
* @param chainFunction - Middleware function to add
|
|
14
|
+
*/
|
|
15
|
+
pushChainFunction: (chainFunction: ChainFunction) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Verify if the authentication service is operational using HEAD method
|
|
18
|
+
* @summary Health check (HEAD)
|
|
19
|
+
*/
|
|
20
|
+
healthCheckHead: (options?: RequestInit) => Promise<FetchResponse<void>>;
|
|
21
|
+
/**
|
|
22
|
+
* Verify if the authentication service is operational using GET method
|
|
23
|
+
* @summary Health check (GET)
|
|
24
|
+
*/
|
|
25
|
+
healthCheckGet: (options?: RequestInit) => Promise<FetchResponse<OKResponse>>;
|
|
26
|
+
/**
|
|
27
|
+
* Retrieve version information about the authentication service
|
|
28
|
+
* @summary Get service version
|
|
29
|
+
*/
|
|
30
|
+
getVersion: (options?: RequestInit) => Promise<FetchResponse<GetVersion200>>;
|
|
31
|
+
/**
|
|
32
|
+
* Generate a new JWT access token using a valid refresh token
|
|
33
|
+
* @summary Refresh access token
|
|
34
|
+
*/
|
|
35
|
+
refreshToken: (refreshTokenRequest: RefreshTokenRequest, options?: RequestInit) => Promise<FetchResponse<Session>>;
|
|
36
|
+
/**
|
|
37
|
+
* Sign out the current user
|
|
38
|
+
* @summary Sign out
|
|
39
|
+
*/
|
|
40
|
+
signOut: (signOutSchema: SignOutSchema, options?: RequestInit) => Promise<FetchResponse<OKResponse>>;
|
|
41
|
+
/**
|
|
42
|
+
* Authenticate a user with their email and password
|
|
43
|
+
* @summary Sign in with email and password
|
|
44
|
+
*/
|
|
45
|
+
signInEmailPassword: (signInEmailPasswordRequest: SignInEmailPasswordRequest, options?: RequestInit) => Promise<FetchResponse<SignInEmailPasswordResponse>>;
|
|
46
|
+
/**
|
|
47
|
+
* Complete the multi-factor authentication by verifying a Time-based One-Time Password (TOTP)
|
|
48
|
+
* @summary Verify TOTP for MFA
|
|
49
|
+
*/
|
|
50
|
+
signInVerifyMfaTotp: (signInMfaTotpRequest: SignInMfaTotpRequest, options?: RequestInit) => Promise<FetchResponse<SessionPayload>>;
|
|
51
|
+
/**
|
|
52
|
+
* Initiate passwordless authentication by sending a magic link to the user's email
|
|
53
|
+
* @summary Sign in with magic link email
|
|
54
|
+
*/
|
|
55
|
+
signInPasswordlessEmail: (signInPasswordlessEmailRequest: SignInPasswordlessEmailRequest, options?: RequestInit) => Promise<FetchResponse<OKResponse>>;
|
|
56
|
+
/**
|
|
57
|
+
* Register a new user account with email and password
|
|
58
|
+
* @summary Sign up with email and password
|
|
59
|
+
*/
|
|
60
|
+
signUpEmailPassword: (signUpEmailPasswordRequest: SignUpEmailPasswordRequest, options?: RequestInit) => Promise<FetchResponse<SessionPayload>>;
|
|
61
|
+
/**
|
|
62
|
+
* Activate or deactivate multi-factor authentication for the authenticated user
|
|
63
|
+
* @summary Manage multi-factor authentication
|
|
64
|
+
*/
|
|
65
|
+
changeUserMfaVerify: (userMfaRequest: UserMfaRequest, options?: RequestInit) => Promise<FetchResponse<OKResponse>>;
|
|
66
|
+
/**
|
|
67
|
+
* Generate a Time-based One-Time Password (TOTP) secret for setting up multi-factor authentication
|
|
68
|
+
* @summary Generate TOTP secret
|
|
69
|
+
*/
|
|
70
|
+
changeUserMfa: (options?: RequestInit) => Promise<FetchResponse<TotpGenerateResponse>>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/auth/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,OAAO,EACP,cAAc,EACd,aAAa,EACb,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzE;;;OAGG;IACH,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9E;;;OAGG;IACH,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAE7E;;;OAGG;IACH,YAAY,EAAE,CACZ,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAErC;;;OAGG;IACH,OAAO,EAAE,CACP,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAExC;;;OAGG;IACH,mBAAmB,EAAE,CACnB,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEzD;;;OAGG;IACH,mBAAmB,EAAE,CACnB,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5C;;;OAGG;IACH,uBAAuB,EAAE,CACvB,8BAA8B,EAAE,8BAA8B,EAC9D,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAExC;;;OAGG;IACH,mBAAmB,EAAE,CACnB,0BAA0B,EAAE,0BAA0B,EACtD,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5C;;;OAGG;IACH,mBAAmB,EAAE,CACnB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAExC;;;OAGG;IACH,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/auth/interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enhanced fetch implementation with middleware support.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a middleware pattern for the Fetch API, allowing
|
|
5
|
+
* chain functions to be applied to requests and responses, such as
|
|
6
|
+
* authentication token refreshing, error handling, and request/response transformation.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Type definition for a fetch-like function.
|
|
10
|
+
* Takes the same parameters as fetch and returns the same type.
|
|
11
|
+
* This allows middleware to intercept and modify requests and responses.
|
|
12
|
+
*/
|
|
13
|
+
export type FetchFunction = (url: string, options?: RequestInit) => Promise<Response>;
|
|
14
|
+
/**
|
|
15
|
+
* Type definition for a chain function (middleware).
|
|
16
|
+
* Takes a fetch-like function and returns another fetch-like function.
|
|
17
|
+
*
|
|
18
|
+
* Chain functions can be used to implement:
|
|
19
|
+
* - Authentication token handling
|
|
20
|
+
* - Error handling and retry logic
|
|
21
|
+
* - Request and response transformations
|
|
22
|
+
* - Logging and metrics
|
|
23
|
+
*/
|
|
24
|
+
export type ChainFunction = (next: FetchFunction) => FetchFunction;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an enhanced fetch function using a chain of middleware functions.
|
|
27
|
+
*
|
|
28
|
+
* The fetch chain executes in the order of the array, with each middleware
|
|
29
|
+
* wrapping the next one in the chain. This allows each middleware to
|
|
30
|
+
* intercept both the request (before calling next) and the response
|
|
31
|
+
* (after calling next).
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* // Simple logging middleware
|
|
36
|
+
* const loggingMiddleware: ChainFunction = (next) => {
|
|
37
|
+
* return async (url, options) => {
|
|
38
|
+
* console.log(`Request to ${url}`);
|
|
39
|
+
* const response = await next(url, options);
|
|
40
|
+
* console.log(`Response from ${url}: ${response.status}`);
|
|
41
|
+
* return response;
|
|
42
|
+
* };
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* const enhancedFetch = createEnhancedFetch([loggingMiddleware]);
|
|
46
|
+
* const response = await enhancedFetch('https://api.example.com/data');
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param chainFunctions - Array of chain functions to apply in order
|
|
50
|
+
* @returns Enhanced fetch function with all middleware applied
|
|
51
|
+
*/
|
|
52
|
+
export declare function createEnhancedFetch(chainFunctions?: ChainFunction[]): FetchFunction;
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,GAAE,aAAa,EAAO,GACnC,aAAa,CAOf"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enhanced fetch implementation with middleware support.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a middleware pattern for the Fetch API, allowing
|
|
5
|
+
* chain functions to be applied to requests and responses, such as
|
|
6
|
+
* authentication token refreshing, error handling, and request/response transformation.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Creates an enhanced fetch function using a chain of middleware functions.
|
|
10
|
+
*
|
|
11
|
+
* The fetch chain executes in the order of the array, with each middleware
|
|
12
|
+
* wrapping the next one in the chain. This allows each middleware to
|
|
13
|
+
* intercept both the request (before calling next) and the response
|
|
14
|
+
* (after calling next).
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // Simple logging middleware
|
|
19
|
+
* const loggingMiddleware: ChainFunction = (next) => {
|
|
20
|
+
* return async (url, options) => {
|
|
21
|
+
* console.log(`Request to ${url}`);
|
|
22
|
+
* const response = await next(url, options);
|
|
23
|
+
* console.log(`Response from ${url}: ${response.status}`);
|
|
24
|
+
* return response;
|
|
25
|
+
* };
|
|
26
|
+
* };
|
|
27
|
+
*
|
|
28
|
+
* const enhancedFetch = createEnhancedFetch([loggingMiddleware]);
|
|
29
|
+
* const response = await enhancedFetch('https://api.example.com/data');
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @param chainFunctions - Array of chain functions to apply in order
|
|
33
|
+
* @returns Enhanced fetch function with all middleware applied
|
|
34
|
+
*/
|
|
35
|
+
export function createEnhancedFetch(chainFunctions = []) {
|
|
36
|
+
// Build the chain starting with vanilla fetch, but apply functions in reverse
|
|
37
|
+
// to achieve the desired execution order
|
|
38
|
+
return chainFunctions.reduceRight((nextInChain, chainFunction) => chainFunction(nextInChain), fetch);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,mBAAmB,CACjC,iBAAkC,EAAE;IAEpC,8EAA8E;IAC9E,yCAAyC;IACzC,OAAO,cAAc,CAAC,WAAW,CAC/B,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAC1D,KAAsB,CACvB,CAAC;AACJ,CAAC"}
|