ghost
d0883f9018
fix(auth): hash MFA backup codes (#1629)
* fix(auth): hash MFA backup codes
* fix(auth): lock and filter backup code verification
* test(auth): assert consumed backup code digest
* fix(auth): strengthen backup code handling
* fix(auth): require otp secret before mfa enable
* test(auth): assert backup code digest consumption
* fix(auth): rehash legacy MFA backup codes
* fix(auth): narrow legacy backup code migration
2026-05-05 01:20:57 +02:00
..
2026-03-06 23:38:25 +01:00
2026-05-05 01:12:48 +02:00
2026-04-19 18:40:50 +02:00
2026-01-24 22:00:41 +01:00
2026-05-05 01:12:48 +02:00
2026-05-03 22:13:28 +02:00
2026-04-07 11:24:50 +02:00
2025-06-10 18:20:06 -04:00
2026-04-19 18:40:50 +02:00
2026-03-14 20:14:18 +01:00
2026-04-07 14:43:17 +02:00
2026-05-01 00:59:48 +02:00
2026-04-19 18:40:50 +02:00
2025-05-27 05:04:58 -05:00
2026-01-21 22:56:39 +01:00
2026-04-19 18:40:50 +02:00
2025-12-24 00:59:50 +01:00
2026-02-19 19:51:42 +01:00
2025-05-15 10:19:56 -04:00
2026-04-08 21:05:58 +02:00
2026-02-25 17:09:51 -05:00
2026-03-23 12:34:43 +01:00
2026-03-06 10:05:52 +01:00
2026-03-25 10:50:23 +01:00
2026-03-23 14:27:41 +01:00
2026-04-27 18:33:22 +02:00
2026-02-10 23:30:45 +01:00
2026-03-10 18:12:53 +01:00
2026-04-18 00:06:24 +02:00
2026-02-23 09:13:15 -05:00
2026-05-03 10:56:31 +02:00
2025-05-27 05:04:58 -05:00
2026-05-05 01:20:57 +02:00
2026-01-16 21:27:55 +01:00
2026-02-13 19:30:29 +01:00
2026-03-11 15:54:01 +01:00
2026-01-07 20:17:23 +01:00
2026-03-14 20:32:13 +01:00
2025-11-14 10:42:31 +01:00
2026-04-29 13:47:32 +02:00
2026-04-29 18:54:23 +02:00
2026-03-22 11:50:33 +01:00
2026-02-13 19:53:24 +01:00
2026-03-09 16:47:32 +01:00
2026-04-18 09:50:34 +02:00
2026-05-03 10:28:31 +02:00
2026-03-20 21:19:30 +01:00
2026-01-23 12:35:49 +01:00
2026-01-23 10:18:22 +01:00
2026-03-29 10:08:54 +02:00
2026-03-14 23:56:27 +01:00
2026-04-29 18:17:36 +02:00
2026-02-16 13:50:06 +01:00
2026-04-08 21:05:58 +02:00
2026-04-13 19:53:04 +02:00
2025-07-16 11:31:47 -04:00
2025-12-24 00:59:50 +01:00