@aurabase/auth 0.6.0 → 0.6.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/dist/index.cjs +164 -33
- package/dist/index.d.cts +131 -1
- package/dist/index.d.ts +131 -1
- package/dist/index.js +164 -33
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseService, AuraResponse, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, IdentityInfo, AdminSessionInfo, AuditLogEntry, AuthSettings, AuthSettingsUpdate, EmailTemplateUpdate, AuraClientLike, AuthChangePayload, SignUpRequest, LoginResponse, SignInRequest, OAuthSignInOptions, MagicLinkRequest, TokenPair, Session, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, MfaChallenge } from '@aurabase/core';
|
|
1
|
+
import { BaseService, AuraResponse, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, IdentityInfo, AdminSessionInfo, AuditLogEntry, AuthSettings, AuthSettingsUpdate, EmailTemplateUpdate, AuraClientLike, AuthChangePayload, SignUpRequest, LoginResponse, SignInRequest, OAuthSignInOptions, OAuthSignInObjectOptions, MagicLinkRequest, TokenPair, Session, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, MfaChallenge } from '@aurabase/core';
|
|
2
2
|
|
|
3
3
|
declare class AuthAdminService extends BaseService {
|
|
4
4
|
/**
|
|
@@ -7,31 +7,59 @@ declare class AuthAdminService extends BaseService {
|
|
|
7
7
|
* `services/aura-gateway/src/middleware/project_subdomain.rs`).
|
|
8
8
|
*/
|
|
9
9
|
private get prefix();
|
|
10
|
+
/**
|
|
11
|
+
* Liste les utilisateurs du projet, avec recherche (`search`) et pagination (`limit`, `offset`).
|
|
12
|
+
*/
|
|
10
13
|
listUsers(params?: {
|
|
11
14
|
limit?: number;
|
|
12
15
|
offset?: number;
|
|
13
16
|
search?: string;
|
|
14
17
|
}): Promise<AuraResponse<AdminUser[]>>;
|
|
18
|
+
/** Lit un utilisateur par son identifiant. */
|
|
15
19
|
getUser(userId: string): Promise<AuraResponse<AdminUser>>;
|
|
20
|
+
/**
|
|
21
|
+
* Crée un utilisateur sans passer par l'inscription publique (e-mail, mot de passe, métadonnées, rôle).
|
|
22
|
+
*/
|
|
16
23
|
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
24
|
+
/** Met à jour un utilisateur : seuls les champs fournis changent. */
|
|
17
25
|
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
26
|
+
/** Supprime un utilisateur. */
|
|
18
27
|
deleteUser(userId: string): Promise<AuraResponse<null>>;
|
|
28
|
+
/** Bannit un utilisateur : il ne peut plus se connecter. */
|
|
19
29
|
banUser(userId: string): Promise<AuraResponse<null>>;
|
|
30
|
+
/** Lève le bannissement d'un utilisateur. */
|
|
20
31
|
unbanUser(userId: string): Promise<AuraResponse<null>>;
|
|
32
|
+
/**
|
|
33
|
+
* Génère un lien à usage unique pour un utilisateur (`'magic'`, `'recovery'` ou `'invite'`) et renvoie `{ link, token }`.
|
|
34
|
+
*/
|
|
21
35
|
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>;
|
|
36
|
+
/**
|
|
37
|
+
* Statistiques des utilisateurs : total, vérifiés, bannis, avec MFA et nouveaux sur 7 jours.
|
|
38
|
+
*/
|
|
22
39
|
getUserStats(): Promise<AuraResponse<UserStats>>;
|
|
40
|
+
/** Liste les identités liées à un utilisateur (fournisseurs OAuth, e-mail). */
|
|
23
41
|
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>;
|
|
42
|
+
/**
|
|
43
|
+
* Liste les sessions actives de tous les utilisateurs, filtrables par `userId`, avec pagination.
|
|
44
|
+
*/
|
|
24
45
|
listSessions(params?: {
|
|
25
46
|
userId?: string;
|
|
26
47
|
limit?: number;
|
|
27
48
|
offset?: number;
|
|
28
49
|
}): Promise<AuraResponse<AdminSessionInfo[]>>;
|
|
50
|
+
/** Révoque une session par son identifiant. */
|
|
29
51
|
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
52
|
+
/**
|
|
53
|
+
* Lit le journal d'audit (action, adresse IP, agent utilisateur, date), filtrable par `userId`, avec pagination.
|
|
54
|
+
*/
|
|
30
55
|
getAuditLog(params?: {
|
|
31
56
|
userId?: string;
|
|
32
57
|
limit?: number;
|
|
33
58
|
offset?: number;
|
|
34
59
|
}): Promise<AuraResponse<AuditLogEntry[]>>;
|
|
60
|
+
/**
|
|
61
|
+
* Lit les réglages d'authentification du projet. Les secrets (mot de passe SMTP, clés) ne sont jamais renvoyés.
|
|
62
|
+
*/
|
|
35
63
|
getSettings(): Promise<AuraResponse<AuthSettings>>;
|
|
36
64
|
/**
|
|
37
65
|
* Met à jour les réglages auth du projet (fusion partielle : seuls les champs fournis
|
|
@@ -49,12 +77,17 @@ declare class AuthAdminService extends BaseService {
|
|
|
49
77
|
* renvoyez donc pas tel quel un objet lu par {@link getSettings}.
|
|
50
78
|
*/
|
|
51
79
|
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>;
|
|
80
|
+
/** Liste les modèles d'e-mail d'authentification du projet. */
|
|
52
81
|
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>;
|
|
82
|
+
/** Lit le modèle d'e-mail d'un type donné (par exemple confirmation, récupération). */
|
|
53
83
|
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>;
|
|
84
|
+
/** Remplace le contenu du modèle d'e-mail d'un type donné. */
|
|
54
85
|
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>;
|
|
86
|
+
/** Supprime le modèle personnalisé d'un type d'e-mail. */
|
|
55
87
|
deleteEmailTemplate(type: string): Promise<AuraResponse<{
|
|
56
88
|
message: string;
|
|
57
89
|
}>>;
|
|
90
|
+
/** Envoie un e-mail de test avec le modèle d'un type à l'adresse `to_email`. */
|
|
58
91
|
testEmailTemplate(type: string, body: {
|
|
59
92
|
to_email: string;
|
|
60
93
|
}): Promise<AuraResponse<null>>;
|
|
@@ -204,6 +237,10 @@ declare class AuthService extends BaseService {
|
|
|
204
237
|
* sera jamais adopté.
|
|
205
238
|
*/
|
|
206
239
|
private get _oauthInitiatedKey();
|
|
240
|
+
/**
|
|
241
|
+
* Écoute les changements d'état de la session (`SIGNED_IN`, `SIGNED_OUT`, `TOKEN_REFRESHED`, `USER_UPDATED`,
|
|
242
|
+
* `MFA_CHALLENGE`…). Renvoie de quoi se désabonner : `unsubscribe()` ou `data.subscription.unsubscribe()`.
|
|
243
|
+
*/
|
|
207
244
|
onAuthStateChange(callback: AuthStateCallback): {
|
|
208
245
|
unsubscribe: () => void;
|
|
209
246
|
data: {
|
|
@@ -213,12 +250,25 @@ declare class AuthService extends BaseService {
|
|
|
213
250
|
};
|
|
214
251
|
};
|
|
215
252
|
private _emitEvent;
|
|
253
|
+
/**
|
|
254
|
+
* Crée un compte avec e-mail et mot de passe. Si le projet n'exige pas de confirmation et que le MFA n'est pas actif,
|
|
255
|
+
* la session est enregistrée et `SIGNED_IN` est émis ; sinon la réponse est un défi MFA (voir `isMfaChallenge`).
|
|
256
|
+
*/
|
|
216
257
|
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>;
|
|
258
|
+
/**
|
|
259
|
+
* Connecte un utilisateur par e-mail et mot de passe. Enregistre la session et émet `SIGNED_IN` ;
|
|
260
|
+
* si le MFA est actif, renvoie un défi (`isMfaChallenge`) à compléter par `mfaVerify`.
|
|
261
|
+
*/
|
|
217
262
|
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>;
|
|
218
263
|
/**
|
|
219
264
|
* Démarre un flux OAuth : renvoie toujours `{ url }` (et redirige en plus le navigateur
|
|
220
265
|
* si un `window` existe).
|
|
221
266
|
*
|
|
267
|
+
* Accepte indifféremment la signature canonique :
|
|
268
|
+
* `signInWithOAuth('google', { redirectTo })`
|
|
269
|
+
* ou la signature objet compatible Supabase :
|
|
270
|
+
* `signInWithOAuth({ provider: 'google', options: { redirectTo } })`
|
|
271
|
+
*
|
|
222
272
|
* ### `options.queryParams` — contrat (N22)
|
|
223
273
|
*
|
|
224
274
|
* Les clés listées par {@link OAUTH_FORWARDABLE_QUERY_PARAMS} — `prompt`, `login_hint`,
|
|
@@ -248,11 +298,27 @@ declare class AuthService extends BaseService {
|
|
|
248
298
|
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{
|
|
249
299
|
url: string;
|
|
250
300
|
}>>;
|
|
301
|
+
signInWithOAuth(options: OAuthSignInObjectOptions): Promise<AuraResponse<{
|
|
302
|
+
url: string;
|
|
303
|
+
}>>;
|
|
304
|
+
/**
|
|
305
|
+
* Envoie un lien de connexion par e-mail (« magic link »). La session s'obtient ensuite par `verifyOtp({ type: 'magiclink' })`.
|
|
306
|
+
*/
|
|
251
307
|
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{
|
|
252
308
|
message: string;
|
|
253
309
|
}>>;
|
|
310
|
+
/**
|
|
311
|
+
* Crée une session anonyme (utilisateur sans e-mail), enregistrée et signalée par `SIGNED_IN`.
|
|
312
|
+
*/
|
|
254
313
|
signInAnonymously(): Promise<AuraResponse<TokenPair>>;
|
|
314
|
+
/**
|
|
315
|
+
* Déconnecte : révoque le jeton de rafraîchissement côté serveur s'il existe, vide la session locale et émet `SIGNED_OUT`.
|
|
316
|
+
*/
|
|
255
317
|
signOut(): Promise<AuraResponse<null>>;
|
|
318
|
+
/**
|
|
319
|
+
* Rafraîchit la session avec le jeton de rafraîchissement et émet `TOKEN_REFRESHED`.
|
|
320
|
+
* Les rafraîchissements concurrents sont fusionnés en un seul appel.
|
|
321
|
+
*/
|
|
256
322
|
refreshSession(): Promise<AuraResponse<TokenPair>>;
|
|
257
323
|
/**
|
|
258
324
|
* Session courante lue depuis le store (synchrone en pratique, pas d'appel réseau).
|
|
@@ -270,6 +336,10 @@ declare class AuthService extends BaseService {
|
|
|
270
336
|
access_token: string | null;
|
|
271
337
|
user: User | null;
|
|
272
338
|
}>;
|
|
339
|
+
/**
|
|
340
|
+
* Installe une session à partir d'un jeton d'accès et d'un jeton de rafraîchissement existants (par exemple reçus d'un serveur).
|
|
341
|
+
* Un jeton d'accès expiré est rafraîchi ; une session invalide est refusée et l'état précédent est restauré.
|
|
342
|
+
*/
|
|
273
343
|
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>;
|
|
274
344
|
/**
|
|
275
345
|
* Échange le code d'autorisation PKCE contre une session.
|
|
@@ -288,8 +358,15 @@ declare class AuthService extends BaseService {
|
|
|
288
358
|
* récupération de mot de passe, `?code=…&type=recovery` — voir `_detectSessionInUrl`).
|
|
289
359
|
*/
|
|
290
360
|
private _exchangeCode;
|
|
361
|
+
/**
|
|
362
|
+
* Liste les sessions de l'utilisateur connecté (appareil, adresse IP, dates) ; `is_current` repère la session courante.
|
|
363
|
+
*/
|
|
291
364
|
listSessions(): Promise<AuraResponse<SessionInfo[]>>;
|
|
365
|
+
/** Révoque une session de l'utilisateur connecté par son identifiant. */
|
|
292
366
|
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
367
|
+
/**
|
|
368
|
+
* Déconnecte l'utilisateur partout : révoque toutes ses sessions, vide la session locale et émet `SIGNED_OUT`.
|
|
369
|
+
*/
|
|
293
370
|
revokeAllSessions(): Promise<AuraResponse<{
|
|
294
371
|
message: string;
|
|
295
372
|
}>>;
|
|
@@ -335,17 +412,59 @@ declare class AuthService extends BaseService {
|
|
|
335
412
|
issuer?: string;
|
|
336
413
|
audience?: string;
|
|
337
414
|
}): Promise<AuraResponse<GetClaimsResult>>;
|
|
415
|
+
/**
|
|
416
|
+
* Supprime le compte de l'utilisateur connecté après confirmation par son mot de passe, puis vide la session locale.
|
|
417
|
+
*/
|
|
338
418
|
deleteUser(password: string): Promise<AuraResponse<null>>;
|
|
419
|
+
/**
|
|
420
|
+
* Met à jour l'utilisateur connecté (métadonnées, mot de passe…) et émet `USER_UPDATED`. Un changement d'e-mail ne prend effet qu'après confirmation par `verifyOtp({ type: 'email_change' })`.
|
|
421
|
+
*/
|
|
339
422
|
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>;
|
|
423
|
+
/** Envoie un e-mail de réinitialisation du mot de passe. */
|
|
340
424
|
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{
|
|
341
425
|
message: string;
|
|
342
426
|
}>>;
|
|
427
|
+
/**
|
|
428
|
+
* Change le mot de passe de l'utilisateur connecté. Le serveur révoque toutes ses sessions : le SDK vide la session locale et émet `SIGNED_OUT`.
|
|
429
|
+
*/
|
|
343
430
|
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>;
|
|
431
|
+
/**
|
|
432
|
+
* Façade unifiée pour les opérations MFA (TOTP).
|
|
433
|
+
* Permet d'appeler indifféremment `aura.auth.mfa.enroll()` ou `aura.auth.mfaEnroll()`.
|
|
434
|
+
*/
|
|
435
|
+
get mfa(): {
|
|
436
|
+
enroll: (params?: {
|
|
437
|
+
factor_type?: 'totp';
|
|
438
|
+
factorType?: 'totp';
|
|
439
|
+
}) => Promise<AuraResponse<MfaEnrollResponse>>;
|
|
440
|
+
verifySetup: (codeOrParams: string | {
|
|
441
|
+
code: string;
|
|
442
|
+
}) => Promise<AuraResponse<{
|
|
443
|
+
recovery_codes: string[];
|
|
444
|
+
}>>;
|
|
445
|
+
verify: (req: MfaVerifyRequest) => Promise<AuraResponse<TokenPair>>;
|
|
446
|
+
unenroll: (passwordOrParams: string | {
|
|
447
|
+
password: string;
|
|
448
|
+
}) => Promise<AuraResponse<{
|
|
449
|
+
message: string;
|
|
450
|
+
}>>;
|
|
451
|
+
regenerateRecoveryCodes: (codeOrParams: string | {
|
|
452
|
+
code: string;
|
|
453
|
+
}) => Promise<AuraResponse<{
|
|
454
|
+
recovery_codes: string[];
|
|
455
|
+
}>>;
|
|
456
|
+
};
|
|
457
|
+
/** MFA : démarre l'enrôlement TOTP et renvoie le `secret` et l'URL `otpauth_url` à afficher en QR code. */
|
|
344
458
|
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>;
|
|
459
|
+
/** MFA : confirme l'enrôlement avec un premier code et renvoie les codes de récupération. */
|
|
345
460
|
mfaVerifySetup(code: string): Promise<AuraResponse<{
|
|
346
461
|
recovery_codes: string[];
|
|
347
462
|
}>>;
|
|
463
|
+
/**
|
|
464
|
+
* MFA : termine une connexion qui a renvoyé un défi (`mfa_token` et code TOTP). Enregistre la session et émet `SIGNED_IN`.
|
|
465
|
+
*/
|
|
348
466
|
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>;
|
|
467
|
+
/** MFA : désactive le MFA après confirmation par le mot de passe. */
|
|
349
468
|
mfaUnenroll(password: string): Promise<AuraResponse<{
|
|
350
469
|
message: string;
|
|
351
470
|
}>>;
|
|
@@ -378,23 +497,34 @@ declare class AuthService extends BaseService {
|
|
|
378
497
|
* l'endpoint, puis (succès) sauvegarde la session et émet `SIGNED_IN`.
|
|
379
498
|
*/
|
|
380
499
|
private _verifyToTokenPair;
|
|
500
|
+
/** Renvoie l'e-mail de vérification, à `email` ou à l'adresse de l'utilisateur connecté. */
|
|
381
501
|
resendVerificationEmail(email?: string): Promise<AuraResponse<{
|
|
382
502
|
message: string;
|
|
383
503
|
}>>;
|
|
504
|
+
/**
|
|
505
|
+
* Envoie un code à usage unique par e-mail ; à confirmer par `verifyOtp({ type: 'email' })`.
|
|
506
|
+
*/
|
|
384
507
|
signInWithEmailOtp(email: string): Promise<AuraResponse<{
|
|
385
508
|
message: string;
|
|
386
509
|
}>>;
|
|
510
|
+
/** Envoie un code à usage unique par SMS ; à confirmer par `verifyOtp({ type: 'sms' })`. */
|
|
387
511
|
signInWithSmsOtp(phone: string): Promise<AuraResponse<{
|
|
388
512
|
message: string;
|
|
389
513
|
}>>;
|
|
514
|
+
/** Liste les identités (fournisseurs) liées à l'utilisateur connecté. */
|
|
390
515
|
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>;
|
|
516
|
+
/**
|
|
517
|
+
* Démarre la liaison d'un fournisseur OAuth au compte connecté et renvoie l'URL d'autorisation à ouvrir.
|
|
518
|
+
*/
|
|
391
519
|
linkIdentity(provider: string): Promise<AuraResponse<{
|
|
392
520
|
url: string;
|
|
393
521
|
provider: string;
|
|
394
522
|
}>>;
|
|
523
|
+
/** Détache une identité du compte connecté par son identifiant. */
|
|
395
524
|
unlinkIdentity(identityId: string): Promise<AuraResponse<{
|
|
396
525
|
message: string;
|
|
397
526
|
}>>;
|
|
527
|
+
/** MFA : régénère les codes de récupération après confirmation par un code TOTP. */
|
|
398
528
|
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{
|
|
399
529
|
recovery_codes: string[];
|
|
400
530
|
}>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseService, AuraResponse, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, IdentityInfo, AdminSessionInfo, AuditLogEntry, AuthSettings, AuthSettingsUpdate, EmailTemplateUpdate, AuraClientLike, AuthChangePayload, SignUpRequest, LoginResponse, SignInRequest, OAuthSignInOptions, MagicLinkRequest, TokenPair, Session, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, MfaChallenge } from '@aurabase/core';
|
|
1
|
+
import { BaseService, AuraResponse, AdminUser, AdminCreateUserRequest, AdminUpdateUserRequest, GenerateLinkType, GenerateLinkResult, UserStats, IdentityInfo, AdminSessionInfo, AuditLogEntry, AuthSettings, AuthSettingsUpdate, EmailTemplateUpdate, AuraClientLike, AuthChangePayload, SignUpRequest, LoginResponse, SignInRequest, OAuthSignInOptions, OAuthSignInObjectOptions, MagicLinkRequest, TokenPair, Session, User, SessionInfo, GetClaimsResult, UpdateUserRequest, PasswordResetRequest, MfaEnrollResponse, MfaVerifyRequest, MfaChallenge } from '@aurabase/core';
|
|
2
2
|
|
|
3
3
|
declare class AuthAdminService extends BaseService {
|
|
4
4
|
/**
|
|
@@ -7,31 +7,59 @@ declare class AuthAdminService extends BaseService {
|
|
|
7
7
|
* `services/aura-gateway/src/middleware/project_subdomain.rs`).
|
|
8
8
|
*/
|
|
9
9
|
private get prefix();
|
|
10
|
+
/**
|
|
11
|
+
* Liste les utilisateurs du projet, avec recherche (`search`) et pagination (`limit`, `offset`).
|
|
12
|
+
*/
|
|
10
13
|
listUsers(params?: {
|
|
11
14
|
limit?: number;
|
|
12
15
|
offset?: number;
|
|
13
16
|
search?: string;
|
|
14
17
|
}): Promise<AuraResponse<AdminUser[]>>;
|
|
18
|
+
/** Lit un utilisateur par son identifiant. */
|
|
15
19
|
getUser(userId: string): Promise<AuraResponse<AdminUser>>;
|
|
20
|
+
/**
|
|
21
|
+
* Crée un utilisateur sans passer par l'inscription publique (e-mail, mot de passe, métadonnées, rôle).
|
|
22
|
+
*/
|
|
16
23
|
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
24
|
+
/** Met à jour un utilisateur : seuls les champs fournis changent. */
|
|
17
25
|
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>;
|
|
26
|
+
/** Supprime un utilisateur. */
|
|
18
27
|
deleteUser(userId: string): Promise<AuraResponse<null>>;
|
|
28
|
+
/** Bannit un utilisateur : il ne peut plus se connecter. */
|
|
19
29
|
banUser(userId: string): Promise<AuraResponse<null>>;
|
|
30
|
+
/** Lève le bannissement d'un utilisateur. */
|
|
20
31
|
unbanUser(userId: string): Promise<AuraResponse<null>>;
|
|
32
|
+
/**
|
|
33
|
+
* Génère un lien à usage unique pour un utilisateur (`'magic'`, `'recovery'` ou `'invite'`) et renvoie `{ link, token }`.
|
|
34
|
+
*/
|
|
21
35
|
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>;
|
|
36
|
+
/**
|
|
37
|
+
* Statistiques des utilisateurs : total, vérifiés, bannis, avec MFA et nouveaux sur 7 jours.
|
|
38
|
+
*/
|
|
22
39
|
getUserStats(): Promise<AuraResponse<UserStats>>;
|
|
40
|
+
/** Liste les identités liées à un utilisateur (fournisseurs OAuth, e-mail). */
|
|
23
41
|
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>;
|
|
42
|
+
/**
|
|
43
|
+
* Liste les sessions actives de tous les utilisateurs, filtrables par `userId`, avec pagination.
|
|
44
|
+
*/
|
|
24
45
|
listSessions(params?: {
|
|
25
46
|
userId?: string;
|
|
26
47
|
limit?: number;
|
|
27
48
|
offset?: number;
|
|
28
49
|
}): Promise<AuraResponse<AdminSessionInfo[]>>;
|
|
50
|
+
/** Révoque une session par son identifiant. */
|
|
29
51
|
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
52
|
+
/**
|
|
53
|
+
* Lit le journal d'audit (action, adresse IP, agent utilisateur, date), filtrable par `userId`, avec pagination.
|
|
54
|
+
*/
|
|
30
55
|
getAuditLog(params?: {
|
|
31
56
|
userId?: string;
|
|
32
57
|
limit?: number;
|
|
33
58
|
offset?: number;
|
|
34
59
|
}): Promise<AuraResponse<AuditLogEntry[]>>;
|
|
60
|
+
/**
|
|
61
|
+
* Lit les réglages d'authentification du projet. Les secrets (mot de passe SMTP, clés) ne sont jamais renvoyés.
|
|
62
|
+
*/
|
|
35
63
|
getSettings(): Promise<AuraResponse<AuthSettings>>;
|
|
36
64
|
/**
|
|
37
65
|
* Met à jour les réglages auth du projet (fusion partielle : seuls les champs fournis
|
|
@@ -49,12 +77,17 @@ declare class AuthAdminService extends BaseService {
|
|
|
49
77
|
* renvoyez donc pas tel quel un objet lu par {@link getSettings}.
|
|
50
78
|
*/
|
|
51
79
|
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>;
|
|
80
|
+
/** Liste les modèles d'e-mail d'authentification du projet. */
|
|
52
81
|
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>;
|
|
82
|
+
/** Lit le modèle d'e-mail d'un type donné (par exemple confirmation, récupération). */
|
|
53
83
|
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>;
|
|
84
|
+
/** Remplace le contenu du modèle d'e-mail d'un type donné. */
|
|
54
85
|
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>;
|
|
86
|
+
/** Supprime le modèle personnalisé d'un type d'e-mail. */
|
|
55
87
|
deleteEmailTemplate(type: string): Promise<AuraResponse<{
|
|
56
88
|
message: string;
|
|
57
89
|
}>>;
|
|
90
|
+
/** Envoie un e-mail de test avec le modèle d'un type à l'adresse `to_email`. */
|
|
58
91
|
testEmailTemplate(type: string, body: {
|
|
59
92
|
to_email: string;
|
|
60
93
|
}): Promise<AuraResponse<null>>;
|
|
@@ -204,6 +237,10 @@ declare class AuthService extends BaseService {
|
|
|
204
237
|
* sera jamais adopté.
|
|
205
238
|
*/
|
|
206
239
|
private get _oauthInitiatedKey();
|
|
240
|
+
/**
|
|
241
|
+
* Écoute les changements d'état de la session (`SIGNED_IN`, `SIGNED_OUT`, `TOKEN_REFRESHED`, `USER_UPDATED`,
|
|
242
|
+
* `MFA_CHALLENGE`…). Renvoie de quoi se désabonner : `unsubscribe()` ou `data.subscription.unsubscribe()`.
|
|
243
|
+
*/
|
|
207
244
|
onAuthStateChange(callback: AuthStateCallback): {
|
|
208
245
|
unsubscribe: () => void;
|
|
209
246
|
data: {
|
|
@@ -213,12 +250,25 @@ declare class AuthService extends BaseService {
|
|
|
213
250
|
};
|
|
214
251
|
};
|
|
215
252
|
private _emitEvent;
|
|
253
|
+
/**
|
|
254
|
+
* Crée un compte avec e-mail et mot de passe. Si le projet n'exige pas de confirmation et que le MFA n'est pas actif,
|
|
255
|
+
* la session est enregistrée et `SIGNED_IN` est émis ; sinon la réponse est un défi MFA (voir `isMfaChallenge`).
|
|
256
|
+
*/
|
|
216
257
|
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>;
|
|
258
|
+
/**
|
|
259
|
+
* Connecte un utilisateur par e-mail et mot de passe. Enregistre la session et émet `SIGNED_IN` ;
|
|
260
|
+
* si le MFA est actif, renvoie un défi (`isMfaChallenge`) à compléter par `mfaVerify`.
|
|
261
|
+
*/
|
|
217
262
|
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>;
|
|
218
263
|
/**
|
|
219
264
|
* Démarre un flux OAuth : renvoie toujours `{ url }` (et redirige en plus le navigateur
|
|
220
265
|
* si un `window` existe).
|
|
221
266
|
*
|
|
267
|
+
* Accepte indifféremment la signature canonique :
|
|
268
|
+
* `signInWithOAuth('google', { redirectTo })`
|
|
269
|
+
* ou la signature objet compatible Supabase :
|
|
270
|
+
* `signInWithOAuth({ provider: 'google', options: { redirectTo } })`
|
|
271
|
+
*
|
|
222
272
|
* ### `options.queryParams` — contrat (N22)
|
|
223
273
|
*
|
|
224
274
|
* Les clés listées par {@link OAUTH_FORWARDABLE_QUERY_PARAMS} — `prompt`, `login_hint`,
|
|
@@ -248,11 +298,27 @@ declare class AuthService extends BaseService {
|
|
|
248
298
|
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{
|
|
249
299
|
url: string;
|
|
250
300
|
}>>;
|
|
301
|
+
signInWithOAuth(options: OAuthSignInObjectOptions): Promise<AuraResponse<{
|
|
302
|
+
url: string;
|
|
303
|
+
}>>;
|
|
304
|
+
/**
|
|
305
|
+
* Envoie un lien de connexion par e-mail (« magic link »). La session s'obtient ensuite par `verifyOtp({ type: 'magiclink' })`.
|
|
306
|
+
*/
|
|
251
307
|
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{
|
|
252
308
|
message: string;
|
|
253
309
|
}>>;
|
|
310
|
+
/**
|
|
311
|
+
* Crée une session anonyme (utilisateur sans e-mail), enregistrée et signalée par `SIGNED_IN`.
|
|
312
|
+
*/
|
|
254
313
|
signInAnonymously(): Promise<AuraResponse<TokenPair>>;
|
|
314
|
+
/**
|
|
315
|
+
* Déconnecte : révoque le jeton de rafraîchissement côté serveur s'il existe, vide la session locale et émet `SIGNED_OUT`.
|
|
316
|
+
*/
|
|
255
317
|
signOut(): Promise<AuraResponse<null>>;
|
|
318
|
+
/**
|
|
319
|
+
* Rafraîchit la session avec le jeton de rafraîchissement et émet `TOKEN_REFRESHED`.
|
|
320
|
+
* Les rafraîchissements concurrents sont fusionnés en un seul appel.
|
|
321
|
+
*/
|
|
256
322
|
refreshSession(): Promise<AuraResponse<TokenPair>>;
|
|
257
323
|
/**
|
|
258
324
|
* Session courante lue depuis le store (synchrone en pratique, pas d'appel réseau).
|
|
@@ -270,6 +336,10 @@ declare class AuthService extends BaseService {
|
|
|
270
336
|
access_token: string | null;
|
|
271
337
|
user: User | null;
|
|
272
338
|
}>;
|
|
339
|
+
/**
|
|
340
|
+
* Installe une session à partir d'un jeton d'accès et d'un jeton de rafraîchissement existants (par exemple reçus d'un serveur).
|
|
341
|
+
* Un jeton d'accès expiré est rafraîchi ; une session invalide est refusée et l'état précédent est restauré.
|
|
342
|
+
*/
|
|
273
343
|
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>;
|
|
274
344
|
/**
|
|
275
345
|
* Échange le code d'autorisation PKCE contre une session.
|
|
@@ -288,8 +358,15 @@ declare class AuthService extends BaseService {
|
|
|
288
358
|
* récupération de mot de passe, `?code=…&type=recovery` — voir `_detectSessionInUrl`).
|
|
289
359
|
*/
|
|
290
360
|
private _exchangeCode;
|
|
361
|
+
/**
|
|
362
|
+
* Liste les sessions de l'utilisateur connecté (appareil, adresse IP, dates) ; `is_current` repère la session courante.
|
|
363
|
+
*/
|
|
291
364
|
listSessions(): Promise<AuraResponse<SessionInfo[]>>;
|
|
365
|
+
/** Révoque une session de l'utilisateur connecté par son identifiant. */
|
|
292
366
|
revokeSession(sessionId: string): Promise<AuraResponse<null>>;
|
|
367
|
+
/**
|
|
368
|
+
* Déconnecte l'utilisateur partout : révoque toutes ses sessions, vide la session locale et émet `SIGNED_OUT`.
|
|
369
|
+
*/
|
|
293
370
|
revokeAllSessions(): Promise<AuraResponse<{
|
|
294
371
|
message: string;
|
|
295
372
|
}>>;
|
|
@@ -335,17 +412,59 @@ declare class AuthService extends BaseService {
|
|
|
335
412
|
issuer?: string;
|
|
336
413
|
audience?: string;
|
|
337
414
|
}): Promise<AuraResponse<GetClaimsResult>>;
|
|
415
|
+
/**
|
|
416
|
+
* Supprime le compte de l'utilisateur connecté après confirmation par son mot de passe, puis vide la session locale.
|
|
417
|
+
*/
|
|
338
418
|
deleteUser(password: string): Promise<AuraResponse<null>>;
|
|
419
|
+
/**
|
|
420
|
+
* Met à jour l'utilisateur connecté (métadonnées, mot de passe…) et émet `USER_UPDATED`. Un changement d'e-mail ne prend effet qu'après confirmation par `verifyOtp({ type: 'email_change' })`.
|
|
421
|
+
*/
|
|
339
422
|
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>;
|
|
423
|
+
/** Envoie un e-mail de réinitialisation du mot de passe. */
|
|
340
424
|
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{
|
|
341
425
|
message: string;
|
|
342
426
|
}>>;
|
|
427
|
+
/**
|
|
428
|
+
* Change le mot de passe de l'utilisateur connecté. Le serveur révoque toutes ses sessions : le SDK vide la session locale et émet `SIGNED_OUT`.
|
|
429
|
+
*/
|
|
343
430
|
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>;
|
|
431
|
+
/**
|
|
432
|
+
* Façade unifiée pour les opérations MFA (TOTP).
|
|
433
|
+
* Permet d'appeler indifféremment `aura.auth.mfa.enroll()` ou `aura.auth.mfaEnroll()`.
|
|
434
|
+
*/
|
|
435
|
+
get mfa(): {
|
|
436
|
+
enroll: (params?: {
|
|
437
|
+
factor_type?: 'totp';
|
|
438
|
+
factorType?: 'totp';
|
|
439
|
+
}) => Promise<AuraResponse<MfaEnrollResponse>>;
|
|
440
|
+
verifySetup: (codeOrParams: string | {
|
|
441
|
+
code: string;
|
|
442
|
+
}) => Promise<AuraResponse<{
|
|
443
|
+
recovery_codes: string[];
|
|
444
|
+
}>>;
|
|
445
|
+
verify: (req: MfaVerifyRequest) => Promise<AuraResponse<TokenPair>>;
|
|
446
|
+
unenroll: (passwordOrParams: string | {
|
|
447
|
+
password: string;
|
|
448
|
+
}) => Promise<AuraResponse<{
|
|
449
|
+
message: string;
|
|
450
|
+
}>>;
|
|
451
|
+
regenerateRecoveryCodes: (codeOrParams: string | {
|
|
452
|
+
code: string;
|
|
453
|
+
}) => Promise<AuraResponse<{
|
|
454
|
+
recovery_codes: string[];
|
|
455
|
+
}>>;
|
|
456
|
+
};
|
|
457
|
+
/** MFA : démarre l'enrôlement TOTP et renvoie le `secret` et l'URL `otpauth_url` à afficher en QR code. */
|
|
344
458
|
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>;
|
|
459
|
+
/** MFA : confirme l'enrôlement avec un premier code et renvoie les codes de récupération. */
|
|
345
460
|
mfaVerifySetup(code: string): Promise<AuraResponse<{
|
|
346
461
|
recovery_codes: string[];
|
|
347
462
|
}>>;
|
|
463
|
+
/**
|
|
464
|
+
* MFA : termine une connexion qui a renvoyé un défi (`mfa_token` et code TOTP). Enregistre la session et émet `SIGNED_IN`.
|
|
465
|
+
*/
|
|
348
466
|
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>;
|
|
467
|
+
/** MFA : désactive le MFA après confirmation par le mot de passe. */
|
|
349
468
|
mfaUnenroll(password: string): Promise<AuraResponse<{
|
|
350
469
|
message: string;
|
|
351
470
|
}>>;
|
|
@@ -378,23 +497,34 @@ declare class AuthService extends BaseService {
|
|
|
378
497
|
* l'endpoint, puis (succès) sauvegarde la session et émet `SIGNED_IN`.
|
|
379
498
|
*/
|
|
380
499
|
private _verifyToTokenPair;
|
|
500
|
+
/** Renvoie l'e-mail de vérification, à `email` ou à l'adresse de l'utilisateur connecté. */
|
|
381
501
|
resendVerificationEmail(email?: string): Promise<AuraResponse<{
|
|
382
502
|
message: string;
|
|
383
503
|
}>>;
|
|
504
|
+
/**
|
|
505
|
+
* Envoie un code à usage unique par e-mail ; à confirmer par `verifyOtp({ type: 'email' })`.
|
|
506
|
+
*/
|
|
384
507
|
signInWithEmailOtp(email: string): Promise<AuraResponse<{
|
|
385
508
|
message: string;
|
|
386
509
|
}>>;
|
|
510
|
+
/** Envoie un code à usage unique par SMS ; à confirmer par `verifyOtp({ type: 'sms' })`. */
|
|
387
511
|
signInWithSmsOtp(phone: string): Promise<AuraResponse<{
|
|
388
512
|
message: string;
|
|
389
513
|
}>>;
|
|
514
|
+
/** Liste les identités (fournisseurs) liées à l'utilisateur connecté. */
|
|
390
515
|
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>;
|
|
516
|
+
/**
|
|
517
|
+
* Démarre la liaison d'un fournisseur OAuth au compte connecté et renvoie l'URL d'autorisation à ouvrir.
|
|
518
|
+
*/
|
|
391
519
|
linkIdentity(provider: string): Promise<AuraResponse<{
|
|
392
520
|
url: string;
|
|
393
521
|
provider: string;
|
|
394
522
|
}>>;
|
|
523
|
+
/** Détache une identité du compte connecté par son identifiant. */
|
|
395
524
|
unlinkIdentity(identityId: string): Promise<AuraResponse<{
|
|
396
525
|
message: string;
|
|
397
526
|
}>>;
|
|
527
|
+
/** MFA : régénère les codes de récupération après confirmation par un code TOTP. */
|
|
398
528
|
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{
|
|
399
529
|
recovery_codes: string[];
|
|
400
530
|
}>>;
|