@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.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
  }>>;