@authticon/client 0.0.0-beta42 → 0.0.0-beta43
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/README.md +74 -74
- package/dist/authticon.d.ts +0 -2
- package/dist/authticon.d.ts.map +1 -1
- package/dist/browser.d.ts +0 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/clients/auth.d.ts +1 -2
- package/dist/clients/auth.d.ts.map +1 -1
- package/dist/clients/auth.js +1 -8
- package/dist/clients/auth.js.map +1 -1
- package/dist/node.d.ts +0 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/session.d.ts +1 -2
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +0 -1
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,10 +14,10 @@ npm install @authticon/client
|
|
|
14
14
|
|
|
15
15
|
Biblioteka dostarcza dwa osobne moduły z odrębnymi implementacjami cookie i sesji:
|
|
16
16
|
|
|
17
|
-
| Import
|
|
18
|
-
|
|
19
|
-
| `@authticon/client` lub `@authticon/client/node` | Node.js / SSR
|
|
20
|
-
| `@authticon/client/browser`
|
|
17
|
+
| Import | Środowisko | Cookie adapter |
|
|
18
|
+
| ------------------------------------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
+
| `@authticon/client` lub `@authticon/client/node` | Node.js / SSR | Parsuje cookies z obiektu `Request`, zwraca `CookieStorageAdapter` z metodami `applyToResponse()`, `stringifySetCookies()` |
|
|
20
|
+
| `@authticon/client/browser` | Przeglądarka / SPA | Używa `document.cookie` |
|
|
21
21
|
|
|
22
22
|
## Szybki start
|
|
23
23
|
|
|
@@ -61,12 +61,12 @@ await session.login({ email: "user@example.com", password: "secret" });
|
|
|
61
61
|
|
|
62
62
|
```typescript
|
|
63
63
|
type AuthticonOptions = {
|
|
64
|
-
projectId: string;
|
|
65
|
-
baseUrl?: string;
|
|
66
|
-
jwksUrl?: string;
|
|
67
|
-
jwksCacheTtlMs?: number;
|
|
68
|
-
cache?: CacheAdapter;
|
|
69
|
-
logger?: Logger;
|
|
64
|
+
projectId: string; // ID projektu w Authticon (wymagane)
|
|
65
|
+
baseUrl?: string; // URL API (domyślnie: "https://authticon.com")
|
|
66
|
+
jwksUrl?: string; // URL do JWKS (domyślnie: {baseUrl}/.well-known/jwks.json)
|
|
67
|
+
jwksCacheTtlMs?: number; // TTL cache kluczy JWKS (domyślnie: 1h)
|
|
68
|
+
cache?: CacheAdapter; // Zewnętrzny adapter cache (domyślnie: in-memory)
|
|
69
|
+
logger?: Logger; // Instancja pino logger
|
|
70
70
|
};
|
|
71
71
|
```
|
|
72
72
|
|
|
@@ -121,88 +121,87 @@ const session = await authticon.session({
|
|
|
121
121
|
|
|
122
122
|
#### Autentykacja
|
|
123
123
|
|
|
124
|
-
| Metoda
|
|
125
|
-
|
|
126
|
-
| `login(params)`
|
|
127
|
-
| `register(params)`
|
|
128
|
-
| `
|
|
129
|
-
| `
|
|
130
|
-
| `
|
|
131
|
-
| `
|
|
132
|
-
| `
|
|
133
|
-
| `
|
|
134
|
-
| `
|
|
135
|
-
| `
|
|
136
|
-
| `refresh()` | Wymusza odświeżenie tokenów. |
|
|
124
|
+
| Metoda | Opis |
|
|
125
|
+
| ---------------------------- | ------------------------------------------------------------------------- |
|
|
126
|
+
| `login(params)` | Logowanie (email/password). Zwraca `SessionUser`. |
|
|
127
|
+
| `register(params)` | Rejestracja. Zwraca dane rejestracji (tokeny nie są jeszcze zapisywane). |
|
|
128
|
+
| `loginByMagicLink(params)` | Loguje użytkownika przez magic link (z `deviceId`). Zwraca `SessionUser`. |
|
|
129
|
+
| `forgotPassword(params)` | Inicjuje reset hasła. |
|
|
130
|
+
| `verifyEmail(params)` | Weryfikuje email. |
|
|
131
|
+
| `createGuest(params)` | Tworzy użytkownika-gościa. Zwraca `SessionUser`. |
|
|
132
|
+
| `acceptInvitation(params)` | Akceptuje zaproszenie. Zwraca `SessionUser`. |
|
|
133
|
+
| `resendConfirmation(params)` | Ponownie wysyła email potwierdzający. |
|
|
134
|
+
| `logout()` | Wylogowuje (server-side + czyści cookies). |
|
|
135
|
+
| `refresh()` | Wymusza odświeżenie tokenów. |
|
|
137
136
|
|
|
138
137
|
#### Stan użytkownika
|
|
139
138
|
|
|
140
|
-
| Metoda
|
|
141
|
-
|
|
142
|
-
| `getUser()`
|
|
143
|
-
| `requireUser()`
|
|
144
|
-
| `isLoggedIn()`
|
|
145
|
-
| `isLoggedInByAdmin()` | Zwraca `boolean` — czy istnieje admin refresh token (logowanie jako użytkownik).
|
|
139
|
+
| Metoda | Opis |
|
|
140
|
+
| --------------------- | --------------------------------------------------------------------------------- |
|
|
141
|
+
| `getUser()` | Zwraca `SessionUser \| null`. |
|
|
142
|
+
| `requireUser()` | Zwraca `SessionUser` lub rzuca `AuthticonError`. |
|
|
143
|
+
| `isLoggedIn()` | Zwraca `boolean` — czy istnieje access token. |
|
|
144
|
+
| `isLoggedInByAdmin()` | Zwraca `boolean` — czy istnieje admin refresh token (logowanie jako użytkownik). |
|
|
146
145
|
| `getFirstChallenge()` | Zwraca pierwszy challenge (np. `"verifyTwoFa"`, `"setPassword"`) lub `undefined`. |
|
|
147
146
|
|
|
148
147
|
#### Profil użytkownika
|
|
149
148
|
|
|
150
|
-
| Metoda
|
|
151
|
-
|
|
152
|
-
| `getMe()`
|
|
153
|
-
| `updateMe(params)` | Aktualizuje dane zalogowanego użytkownika.
|
|
149
|
+
| Metoda | Opis |
|
|
150
|
+
| ------------------ | -------------------------------------------- |
|
|
151
|
+
| `getMe()` | Pobiera dane zalogowanego użytkownika z API. |
|
|
152
|
+
| `updateMe(params)` | Aktualizuje dane zalogowanego użytkownika. |
|
|
154
153
|
|
|
155
154
|
#### Zarządzanie kontem
|
|
156
155
|
|
|
157
|
-
| Metoda
|
|
158
|
-
|
|
159
|
-
| `changeEmail(params)`
|
|
160
|
-
| `changePassword(params)` | Zmiana hasła.
|
|
161
|
-
| `setPassword(params)`
|
|
162
|
-
| `changePhone(params)`
|
|
163
|
-
| `verifyPhone(params)`
|
|
156
|
+
| Metoda | Opis |
|
|
157
|
+
| ------------------------ | ---------------------------------- |
|
|
158
|
+
| `changeEmail(params)` | Zmiana emaila. |
|
|
159
|
+
| `changePassword(params)` | Zmiana hasła. |
|
|
160
|
+
| `setPassword(params)` | Ustawienie hasła (np. po resecie). |
|
|
161
|
+
| `changePhone(params)` | Zmiana numeru telefonu. |
|
|
162
|
+
| `verifyPhone(params)` | Weryfikacja numeru telefonu. |
|
|
164
163
|
|
|
165
164
|
#### Dwuskładnikowe uwierzytelnianie (2FA)
|
|
166
165
|
|
|
167
|
-
| Metoda
|
|
168
|
-
|
|
169
|
-
| `getTwoFaSecret()`
|
|
170
|
-
| `enableTwoFa(params)`
|
|
171
|
-
| `disableTwoFa(params)`
|
|
172
|
-
| `sendTwoFaCode(params)`
|
|
166
|
+
| Metoda | Opis |
|
|
167
|
+
| ---------------------------------- | ------------------------------------------------------------- |
|
|
168
|
+
| `getTwoFaSecret()` | Pobiera sekret 2FA (do wyświetlenia QR code). |
|
|
169
|
+
| `enableTwoFa(params)` | Włącza 2FA. |
|
|
170
|
+
| `disableTwoFa(params)` | Wyłącza 2FA. |
|
|
171
|
+
| `sendTwoFaCode(params)` | Wysyła kod 2FA. |
|
|
173
172
|
| `verifyTwoFaCode(code, remember?)` | Weryfikuje kod 2FA i aktualizuje sesję. Zwraca `SessionUser`. |
|
|
174
173
|
|
|
175
174
|
#### Zaproszenia
|
|
176
175
|
|
|
177
|
-
| Metoda
|
|
178
|
-
|
|
176
|
+
| Metoda | Opis |
|
|
177
|
+
| -------------------------- | ------------------- |
|
|
179
178
|
| `createInvitation(params)` | Tworzy zaproszenie. |
|
|
180
|
-
| `deleteInvitation(params)` | Usuwa zaproszenie.
|
|
179
|
+
| `deleteInvitation(params)` | Usuwa zaproszenie. |
|
|
181
180
|
|
|
182
181
|
#### Tokeny
|
|
183
182
|
|
|
184
183
|
Obiekt `session.tokens` daje bezpośredni dostęp do tokenów:
|
|
185
184
|
|
|
186
185
|
```typescript
|
|
187
|
-
session.tokens.getAccessToken();
|
|
188
|
-
session.tokens.getRefreshToken();
|
|
189
|
-
session.tokens.verify();
|
|
186
|
+
session.tokens.getAccessToken(); // string | null
|
|
187
|
+
session.tokens.getRefreshToken(); // string | null
|
|
188
|
+
session.tokens.verify(); // weryfikuje aktualny access token
|
|
190
189
|
session.tokens.verify(customToken); // weryfikuje dowolny token
|
|
191
|
-
session.tokens.clear();
|
|
190
|
+
session.tokens.clear(); // czyści tokeny z cookies i resetuje stan sesji
|
|
192
191
|
```
|
|
193
192
|
|
|
194
193
|
### SessionUser
|
|
195
194
|
|
|
196
195
|
```typescript
|
|
197
196
|
type SessionUser<Payload> = {
|
|
198
|
-
id: string;
|
|
199
|
-
sessionId: string;
|
|
200
|
-
projectId: string;
|
|
197
|
+
id: string; // ID użytkownika
|
|
198
|
+
sessionId: string; // ID sesji
|
|
199
|
+
projectId: string; // ID projektu
|
|
201
200
|
role: "guest" | "user";
|
|
202
201
|
isGuest: boolean;
|
|
203
|
-
challenges: Challenge[];
|
|
204
|
-
payload: Payload;
|
|
205
|
-
raw: AccessTokenPayload;
|
|
202
|
+
challenges: Challenge[]; // np. ["verifyTwoFa", "setPassword"]
|
|
203
|
+
payload: Payload; // custom claims z tokena
|
|
204
|
+
raw: AccessTokenPayload; // surowy payload JWT
|
|
206
205
|
};
|
|
207
206
|
```
|
|
208
207
|
|
|
@@ -220,7 +219,6 @@ const auth = authticon.auth();
|
|
|
220
219
|
await auth.login({ email: "user@example.com", password: "secret" });
|
|
221
220
|
await auth.register({ email: "user@example.com", password: "secret" });
|
|
222
221
|
await auth.forgotPassword({ email: "user@example.com" });
|
|
223
|
-
await auth.sendMagicLink({ email: "user@example.com" });
|
|
224
222
|
await auth.loginByMagicLink({ token: "..." });
|
|
225
223
|
await auth.verifyEmail({ token: "..." });
|
|
226
224
|
await auth.createGuestUser({ ... });
|
|
@@ -243,6 +241,8 @@ await admin.getUser("user-id");
|
|
|
243
241
|
await admin.updateUser("user-id", { ... });
|
|
244
242
|
await admin.deleteUser("user-id");
|
|
245
243
|
await admin.loginAs({ userId: "user-id" });
|
|
244
|
+
await admin.sendMagicLink({ email: "user@example.com", url: "https://example.com/login" });
|
|
245
|
+
|
|
246
246
|
|
|
247
247
|
// Role
|
|
248
248
|
await admin.createUserRole("user-id", { ... });
|
|
@@ -317,16 +317,16 @@ interface CookieAdapter {
|
|
|
317
317
|
|
|
318
318
|
```typescript
|
|
319
319
|
type TokenStorageOptions = {
|
|
320
|
-
accessTokenName?: string;
|
|
321
|
-
refreshTokenName?: string;
|
|
322
|
-
deviceIdName?: string;
|
|
323
|
-
adminRefreshTokenName?: string;
|
|
324
|
-
path?: string;
|
|
320
|
+
accessTokenName?: string; // domyślnie: "access_token"
|
|
321
|
+
refreshTokenName?: string; // domyślnie: "refresh_token"
|
|
322
|
+
deviceIdName?: string; // domyślnie: "device_id"
|
|
323
|
+
adminRefreshTokenName?: string; // domyślnie: "admin_refresh_token"
|
|
324
|
+
path?: string; // domyślnie: "/"
|
|
325
325
|
domain?: string;
|
|
326
|
-
secure?: boolean;
|
|
326
|
+
secure?: boolean; // domyślnie: true
|
|
327
327
|
sameSite?: "Strict" | "Lax" | "None"; // domyślnie: "Lax"
|
|
328
|
-
accessTokenMaxAge?: number;
|
|
329
|
-
refreshTokenMaxAge?: number;
|
|
328
|
+
accessTokenMaxAge?: number; // domyślnie: 900 (15 min)
|
|
329
|
+
refreshTokenMaxAge?: number; // domyślnie: 2592000 (30 dni)
|
|
330
330
|
};
|
|
331
331
|
```
|
|
332
332
|
|
|
@@ -345,10 +345,10 @@ import {
|
|
|
345
345
|
} from "@authticon/client";
|
|
346
346
|
```
|
|
347
347
|
|
|
348
|
-
| Klasa
|
|
349
|
-
|
|
350
|
-
| `AuthticonError`
|
|
351
|
-
| `AuthticonApiError`
|
|
348
|
+
| Klasa | Opis |
|
|
349
|
+
| --------------------- | -------------------------------------------------------------- |
|
|
350
|
+
| `AuthticonError` | Bazowy błąd (np. brak tokenu, użytkownik niezalogowany) |
|
|
351
|
+
| `AuthticonApiError` | Błąd odpowiedzi API (zawiera `statusCode` i `response`) |
|
|
352
352
|
| `AuthticonTokenError` | Błąd weryfikacji JWT (zawiera `code` i oryginalny `joseError`) |
|
|
353
353
|
|
|
354
354
|
```typescript
|
|
@@ -381,8 +381,8 @@ const authticon = createAuthticon<MyPayload>({
|
|
|
381
381
|
const session = await authticon.session({ request });
|
|
382
382
|
const user = session.getUser();
|
|
383
383
|
|
|
384
|
-
user?.payload.organizationId;
|
|
385
|
-
user?.payload.permissions;
|
|
384
|
+
user?.payload.organizationId; // string
|
|
385
|
+
user?.payload.permissions; // string[]
|
|
386
386
|
```
|
|
387
387
|
|
|
388
388
|
## Licencja
|
package/dist/authticon.d.ts
CHANGED
|
@@ -11,7 +11,6 @@ export declare const createBaseAuthticon: <Payload extends Record<string, any> =
|
|
|
11
11
|
register: (params: import("./clients/generated/types.gen.js").RegisterData["body"]) => Promise<{
|
|
12
12
|
userId: string;
|
|
13
13
|
}>;
|
|
14
|
-
sendMagicLink: (params: import("./clients/generated/types.gen.js").SendMagicLinkData["body"]) => Promise<null>;
|
|
15
14
|
forgotPassword: (params: import("./clients/generated/types.gen.js").ForgotPasswordData["body"]) => Promise<{
|
|
16
15
|
success: boolean;
|
|
17
16
|
}>;
|
|
@@ -116,7 +115,6 @@ export declare const createBaseAuthticon: <Payload extends Record<string, any> =
|
|
|
116
115
|
accessToken: string;
|
|
117
116
|
refreshToken: string;
|
|
118
117
|
}>;
|
|
119
|
-
sendMagicLink: (params: import("./clients/generated/types.gen.js").SendMagicLinkData["body"]) => Promise<null>;
|
|
120
118
|
verifyEmail: (params: import("./clients/generated/types.gen.js").VerifyEmailData["body"]) => Promise<void>;
|
|
121
119
|
resendConfirmation: (params: import("./clients/generated/types.gen.js").ResendEmailConfirmationData["body"]) => Promise<{
|
|
122
120
|
success: boolean;
|
package/dist/authticon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authticon.d.ts","sourceRoot":"","sources":["../src/authticon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,oBAAoB,CAAC,WAAW,IAAI,CAC9C,OAAO,EAAE,WAAW,KACjB,aAAa,CAAC;AAEnB,eAAO,MAAM,mBAAmB,GAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzD,WAAW,SAAS;IAAE,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAC3D,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,EAED,SAAS,gBAAgB,EACzB,oBAAoB,oBAAoB,CAAC,WAAW,CAAC;8BAoBzB,WAAW
|
|
1
|
+
{"version":3,"file":"authticon.d.ts","sourceRoot":"","sources":["../src/authticon.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,oBAAoB,CAAC,WAAW,IAAI,CAC9C,OAAO,EAAE,WAAW,KACjB,aAAa,CAAC;AAEnB,eAAO,MAAM,mBAAmB,GAC9B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzD,WAAW,SAAS;IAAE,YAAY,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAC3D,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,EAED,SAAS,gBAAgB,EACzB,oBAAoB,oBAAoB,CAAC,WAAW,CAAC;8BAoBzB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAcxC,CAAC"}
|
package/dist/browser.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ export declare const createAuthticon: <Payload extends Record<string, any> = Rec
|
|
|
10
10
|
register: (params: import("./clients/generated/types.gen.js").RegisterData["body"]) => Promise<{
|
|
11
11
|
userId: string;
|
|
12
12
|
}>;
|
|
13
|
-
sendMagicLink: (params: import("./clients/generated/types.gen.js").SendMagicLinkData["body"]) => Promise<null>;
|
|
14
13
|
forgotPassword: (params: import("./clients/generated/types.gen.js").ForgotPasswordData["body"]) => Promise<{
|
|
15
14
|
success: boolean;
|
|
16
15
|
}>;
|
|
@@ -115,7 +114,6 @@ export declare const createAuthticon: <Payload extends Record<string, any> = Rec
|
|
|
115
114
|
accessToken: string;
|
|
116
115
|
refreshToken: string;
|
|
117
116
|
}>;
|
|
118
|
-
sendMagicLink: (params: import("./clients/generated/types.gen.js").SendMagicLinkData["body"]) => Promise<null>;
|
|
119
117
|
verifyEmail: (params: import("./clients/generated/types.gen.js").VerifyEmailData["body"]) => Promise<void>;
|
|
120
118
|
resendConfirmation: (params: import("./clients/generated/types.gen.js").ResendEmailConfirmationData["body"]) => Promise<{
|
|
121
119
|
success: boolean;
|
package/dist/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,SAAS,gBAAgB
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,SAAS,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAC;AAEJ,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,mBAAmB,YAAY,CAAC"}
|
package/dist/clients/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ApiClientOptions } from "./base.js";
|
|
2
|
-
import type { AcceptInvitationData, CreateGuestUserData, ForgotPasswordData, LoginByMagicLinkData, LoginData, RegisterData, ResendEmailConfirmationData,
|
|
2
|
+
import type { AcceptInvitationData, CreateGuestUserData, ForgotPasswordData, LoginByMagicLinkData, LoginData, RegisterData, ResendEmailConfirmationData, VerifyEmailData } from "./generated/types.gen.js";
|
|
3
3
|
type AuthClientOptions = ApiClientOptions & {
|
|
4
4
|
projectId: string;
|
|
5
5
|
};
|
|
@@ -29,7 +29,6 @@ export declare const createAuthClient: (options: AuthClientOptions) => {
|
|
|
29
29
|
accessToken: string;
|
|
30
30
|
refreshToken: string;
|
|
31
31
|
}>;
|
|
32
|
-
sendMagicLink: (params: SendMagicLinkData["body"]) => Promise<null>;
|
|
33
32
|
verifyEmail: (params: VerifyEmailData["body"]) => Promise<void>;
|
|
34
33
|
resendConfirmation: (params: ResendEmailConfirmationData["body"]) => Promise<{
|
|
35
34
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/clients/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/clients/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAWpE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,KAAK,iBAAiB,GAAG,gBAAgB,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,SAAS,iBAAiB;oBASjC,SAAS,CAAC,MAAM,CAAC;;;;;;+BAON,oBAAoB,CAAC,MAAM,CAAC;;;;;;uBAOpC,YAAY,CAAC,MAAM,CAAC;;;6BAOd,kBAAkB,CAAC,MAAM,CAAC;;;8BAOzB,mBAAmB,CAAC,MAAM,CAAC;;;+BAO1B,oBAAoB,CAAC,MAAM,CAAC;;;;0BAOjC,eAAe,CAAC,MAAM,CAAC;iCAMhB,2BAA2B,CAAC,MAAM,CAAC;;;CAQzE,CAAC"}
|
package/dist/clients/auth.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createBaseClient } from "./base.js";
|
|
2
|
-
import { acceptInvitation, createGuestUser, forgotPassword, login, loginByMagicLink, register, resendEmailConfirmation,
|
|
2
|
+
import { acceptInvitation, createGuestUser, forgotPassword, login, loginByMagicLink, register, resendEmailConfirmation, verifyEmail, } from "./generated/sdk.gen.js";
|
|
3
3
|
export const createAuthClient = (options) => {
|
|
4
4
|
options.headers = {
|
|
5
5
|
...(options.headers ?? {}),
|
|
@@ -49,13 +49,6 @@ export const createAuthClient = (options) => {
|
|
|
49
49
|
});
|
|
50
50
|
return data;
|
|
51
51
|
},
|
|
52
|
-
sendMagicLink: async (params) => {
|
|
53
|
-
const { data } = await sendMagicLink({
|
|
54
|
-
client,
|
|
55
|
-
body: params,
|
|
56
|
-
});
|
|
57
|
-
return data;
|
|
58
|
-
},
|
|
59
52
|
verifyEmail: async (params) => {
|
|
60
53
|
await verifyEmail({
|
|
61
54
|
client,
|
package/dist/clients/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/clients/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/clients/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAyB,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,QAAQ,EACR,uBAAuB,EACvB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAgBhC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA0B,EAAE,EAAE;IAC7D,OAAO,CAAC,OAAO,GAAG;QAChB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC,SAAS;KAClC,CAAC;IAEF,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO;QACL,KAAK,EAAE,KAAK,EAAE,MAAyB,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC;gBAC3B,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,MAAoC,EAAE,EAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBACtC,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,MAA4B,EAAE,EAAE;YAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,CAAC;gBAC9B,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,MAAkC,EAAE,EAAE;YAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,cAAc,CAAC;gBACpC,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,MAAmC,EAAE,EAAE;YAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAe,CAAC;gBACrC,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,MAAoC,EAAE,EAAE;YAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC;gBACtC,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,MAA+B,EAAE,EAAE;YACrD,MAAM,WAAW,CAAC;gBAChB,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;QACL,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,MAA2C,EAAE,EAAE;YACxE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,uBAAuB,CAAC;gBAC7C,MAAM;gBACN,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/node.d.ts
CHANGED
|
@@ -50,7 +50,6 @@ export declare const createAuthticon: <Payload extends Record<string, any> = Rec
|
|
|
50
50
|
accessToken: string;
|
|
51
51
|
refreshToken: string;
|
|
52
52
|
}>;
|
|
53
|
-
sendMagicLink: (params: import("./clients/generated/types.gen.js").SendMagicLinkData["body"]) => Promise<null>;
|
|
54
53
|
verifyEmail: (params: import("./clients/generated/types.gen.js").VerifyEmailData["body"]) => Promise<void>;
|
|
55
54
|
resendConfirmation: (params: import("./clients/generated/types.gen.js").ResendEmailConfirmationData["body"]) => Promise<{
|
|
56
55
|
success: boolean;
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,OAAO,EAAE,CAAC;AAIxB,KAAK,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACxD,CAAC,OAAO,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;KACpC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IAClE,CAAC,OAAO,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,CAAC,EAAE,mBAAmB,CAAC;KACpC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,SAAS,gBAAgB,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,OAAO,EAAE,CAAC;AAIxB,KAAK,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IACxD,CAAC,OAAO,EAAE;QACR,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;KACpC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE,CAAC,CAAC;IAClE,CAAC,OAAO,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,YAAY,CAAC,EAAE,mBAAmB,CAAC;KACpC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,SAAS,gBAAgB,GAAG;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiD/B;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;8BA9B5B,kEAAwB;;;4BAM/B,oEAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA6B7B,8DAGC;;;;;;;;;;;;;;;;;;;;;6BAImB,iEACN;;;6BASU,iEAAuB;;;iCAAkL,qEAA2B;;;;;;;gCAAoP,oEAA0B;;;;;;iCAAqL,qEAA2B,oBAAyB,qEAA2B;;;;;;;iCAAoQ,qEAA2B,oBAAyB,qEAA2B;;;;;;CAftmC,CAAC;AACF,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,8BAA8B,EAC9B,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,mBAAmB,YAAY,CAAC;AAChC,YAAY,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Logger } from "pino";
|
|
2
|
-
import type { AcceptInvitationData, ChangeEmailData, ChangePasswordData, ChangePhoneData, CreateGuestUserData, CreateInvitationData, DeleteInvitationData, DisableTwoFaData, EnableTwoFaData, ForgotPasswordData, LoginByMagicLinkData, LoginData, RegisterData, ResendEmailConfirmationData,
|
|
2
|
+
import type { AcceptInvitationData, ChangeEmailData, ChangePasswordData, ChangePhoneData, CreateGuestUserData, CreateInvitationData, DeleteInvitationData, DisableTwoFaData, EnableTwoFaData, ForgotPasswordData, LoginByMagicLinkData, LoginData, RegisterData, ResendEmailConfirmationData, SendTwoFaCodeData, SetPasswordData, UpdateMeData, VerifyEmailData, VerifyPhoneData } from "./clients/generated/types.gen.js";
|
|
3
3
|
import { type TokenVerifier } from "./tokens.js";
|
|
4
4
|
import type { AccessTokenPayload, Challenge, CookieAdapter, SessionUser, TokenStorageOptions } from "./types.js";
|
|
5
5
|
export type SessionClientDeps = {
|
|
@@ -16,7 +16,6 @@ export declare const createSession: <Payload extends Record<string, any> = Recor
|
|
|
16
16
|
register: (params: RegisterData["body"]) => Promise<{
|
|
17
17
|
userId: string;
|
|
18
18
|
}>;
|
|
19
|
-
sendMagicLink: (params: SendMagicLinkData["body"]) => Promise<null>;
|
|
20
19
|
forgotPassword: (params: ForgotPasswordData["body"]) => Promise<{
|
|
21
20
|
success: boolean;
|
|
22
21
|
}>;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,2BAA2B,EAC3B,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,KAAK,EACV,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,WAAW,EACX,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,cAAc,kBAAkB,CAAC,OAAO,CAAC,KACxC,WAAW,CAAC,OAAO,CAcrB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC3E,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAErD,eAAO,MAAM,aAAa,GACxB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEzD,MAAM,iBAAiB,EACvB,SAAS,aAAa,EACtB,sBAAsB,mBAAmB;oBAwFvB,SAAS,CAAC,MAAM,CAAC;+BAYA,oBAAoB,CAAC,MAAM,CAAC;uBAYpC,YAAY,CAAC,MAAM,CAAC;;;6BAMpB,kBAAkB,CAAC,MAAM,CAAC;;;0BAG7B,eAAe,CAAC,MAAM,CAAC;0BAGjB,mBAAmB,CAAC,MAAM,CAAC;+BAQ5B,oBAAoB,CAAC,MAAM,CAAC;iCAM1B,2BAA2B,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;yBAKrC,YAAY,CAAC,MAAM,CAAC;;;uBAGtB,YAAY,CAAC,MAAM,CAAC;;;mBAGhC,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI;uBAEvB,WAAW,CAAC,OAAO,CAAC;6BAKd,SAAS,GAAG,SAAS;;;;;0BA8BhB,eAAe,CAAC,MAAM,CAAC;6BAGpB,kBAAkB,CAAC,MAAM,CAAC;0BAG7B,eAAe,CAAC,MAAM,CAAC;0BAGvB,eAAe,CAAC,MAAM,CAAC;0BAGvB,eAAe,CAAC,MAAM,CAAC;;;;;0BASvB,eAAe,CAAC,MAAM,CAAC;2BAGtB,gBAAgB,CAAC,MAAM,CAAC;4BAGvB,iBAAiB,CAAC,MAAM,CAAC;4BAGzB,MAAM;+BAQH,oBAAoB,CAAC,MAAM,CAAC;;;;;;;;;+BAG5B,oBAAoB,CAAC,MAAM,CAAC;;;;;;yBAMpC,MAAM;;;;EAelC,CAAC"}
|
package/dist/session.js
CHANGED
|
@@ -106,7 +106,6 @@ export const createSession = async (deps, cookies, tokenStorageOptions) => {
|
|
|
106
106
|
throw new AuthticonError("Register failed");
|
|
107
107
|
return result;
|
|
108
108
|
},
|
|
109
|
-
sendMagicLink: (params) => authApi.sendMagicLink(params),
|
|
110
109
|
forgotPassword: (params) => authApi.forgotPassword(params),
|
|
111
110
|
verifyEmail: (params) => authApi.verifyEmail(params),
|
|
112
111
|
createGuest: async (params) => {
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|