1
0
mirror of https://github.com/delight-im/PHP-Auth.git synced 2025-10-21 19:06:49 +02:00
Commit Graph

532 Commits

Author SHA1 Message Date
Marco
e087c9af2f Implement pre-hashing for passwords when using bcrypt
This enables support for passwords with more than 72 bytes (or more
than 18-72 characters) and for passwords containing null bytes
2025-05-19 12:55:28 +02:00
Marco
1cac1a5188 Extract usages of hashing for tokens to new class 'TokenHash' 2025-05-17 18:32:13 +02:00
Marco
3625622670 Extract usages of hashing for passwords to new class 'PasswordHash' 2025-05-17 18:19:07 +02:00
Marco
6b7ef7c93c Improve documentation for two-factor authentication in README 2025-05-05 22:56:11 +02:00
Marco
d73a1bf919 Document two-factor authentication in README 2025-05-01 00:28:22 +02:00
Marco
ff4e52d111 Deprecate 'onBeforeSuccess' callback and 'AttemptCancelledException' 2025-04-30 14:35:07 +02:00
Marco
05854dad61 Restrict new passwords to 72 characters in length 2025-04-30 13:54:16 +02:00
Marco
233640502c Add length constraints to SQLite text columns to match MySQL/Postgres 2025-04-24 09:04:10 +02:00
Marco
ea6cbf6089 Improve DDL for SQLite 2025-03-20 14:28:20 +01:00
Marco
e771398527 Drop 'UNSIGNED' for 'FLOAT' in DDL for MySQL 2025-03-17 09:20:37 +01:00
Marco
3defd87461 Drop integer display widths in DDL for MySQL 2025-03-16 16:13:36 +01:00
Marco
c0a289c352 Improve DDL for PostgreSQL 2025-03-15 16:05:33 +01:00
Marco
5609c80af0 Remove trailing commas (syntax errors) in PostgreSQL
Thanks, @hauke-97 and @jgmamxmn !
2025-03-12 15:42:41 +01:00
Marco
efae015004 Do not use 'IF NOT EXISTS' with 'CREATE TABLE' for MySQL 2025-03-12 15:34:49 +01:00
Marco
fcdb946042 Add tests for four methods 'Auth#disableTwoFactor*' 2024-09-24 16:40:22 +02:00
Marco
61e4367c31 Create four methods 'Auth#disableTwoFactor*' to let users disable 2FA 2024-09-24 16:38:02 +02:00
Marco
60175e1889 Add tests for four methods 'Auth#hasTwoFactor*' 2024-08-29 13:51:43 +02:00
Marco
df31a85e4a Create four methods 'Auth#hasTwoFactor*' to check if user has 2FA 2024-08-29 13:50:21 +02:00
Marco
663268c712 Use full and valid HTML page markup in tests 2024-08-16 09:15:50 +02:00
Marco
bf64593ebf Emphasize that spaces or special chars are fine in supplied OTPs 2024-08-16 07:12:45 +02:00
Marco
960dc7ffdc Display masked recipients for OTPs as well in tests 2024-08-16 07:10:55 +02:00
Marco
ff3038386c Additionally pass masked recipients to 'SecondFactorRequiredException' 2024-08-16 07:08:14 +02:00
Marco
0e82d095cf Accept masked SMS/email recipients in 'SecondFactorRequiredException' 2024-08-16 07:06:42 +02:00
Marco
ceac62c3f3 Swap order of arguments for 'addSmsOption' and 'addEmailOption' 2024-08-16 07:02:38 +02:00
Marco
e5ccc81988 Always cast integers from database to 'int' before strict comparisons 2024-08-16 06:55:59 +02:00
Marco
2a37898560 Create function 'PhoneNumber::mask' 2024-08-16 06:46:26 +02:00
Marco
a25b57cd7b Create function 'EmailAddress::mask' 2024-08-16 06:44:17 +02:00
Marco
e5bc48eaa6 Prefer numerical OTPs for setup and usage of 2FA via SMS and email 2024-07-04 17:58:22 +02:00
Marco
d2602121ab Delete OTPs from incomplete attempts to set up 2FA 2024-07-04 13:53:07 +02:00
Marco
eba7cd2657 Extract sanitization of OTP values into separate method 2024-07-04 13:35:27 +02:00
Marco
2ffe09c52e Prevent text in README from being detected by tooling 2024-06-14 14:18:12 +02:00
Marco
75c372198d Add tests for method 'Auth#enableTwoFactorViaEmail' 2024-06-14 13:34:28 +02:00
Marco
4dc67aaa30 Add tests for method 'Auth#enableTwoFactorViaSms' 2024-06-14 13:03:14 +02:00
Marco
87c4ad0b92 Improve language 2024-06-11 12:19:36 +02:00
Marco
aebaea128b Implement 'enableTwoFactorViaEmail' using 'enableTwoFactor' 2024-06-11 11:40:37 +02:00
Marco
0f71c335e6 Implement 'enableTwoFactorViaSms' using 'enableTwoFactor' 2024-06-11 11:12:04 +02:00
Marco
1f231d0a94 Re-implement 'enableTwoFactorViaTotp' using 'enableTwoFactor' 2024-06-11 11:06:17 +02:00
Marco
e447e972af Turn 'enableTwoFactorViaTotp' into generalized 'enableTwoFactor' 2024-06-11 09:49:26 +02:00
Marco
9464d754bd Add tests for method 'Auth#prepareTwoFactorViaEmail' 2024-04-04 19:52:29 +02:00
Marco
804141f1d4 Add tests for method 'Auth#prepareTwoFactorViaSms' 2024-04-04 19:51:18 +02:00
Marco
8b870567e7 Update documentation for 'provideOneTimePasswordAsSecondFactor' 2024-04-04 19:46:57 +02:00
Marco
b0965525de Implement 'prepareTwoFactorViaEmail' using 'prepareTwoFactor' 2024-04-04 19:42:23 +02:00
Marco
ea7b1208ad Implement 'prepareTwoFactorViaSms' using 'prepareTwoFactor' 2024-04-04 19:39:54 +02:00
Marco
0ff92ce870 Re-implement 'prepareTwoFactorViaTotp' using 'prepareTwoFactor' 2024-04-04 19:34:24 +02:00
Marco
c249c3b060 Turn 'prepareTwoFactorViaTotp' into generalized 'prepareTwoFactor' 2024-04-04 19:25:11 +02:00
Marco
e266178f95 Extract code into separate 'generateAndStoreRandomOneTimePassword' 2024-04-04 19:09:40 +02:00
Marco
c21f59d4d5 Use method 'Auth#isWaitingForSecondFactor' in tests 2024-04-04 19:03:06 +02:00
Marco
68f5b23fc5 Implement method 'Auth#isWaitingForSecondFactor' 2024-04-04 19:01:43 +02:00
Marco
4d92ca24c2 Add SQLite schema for new tables 'users_2fa' and 'users_otps' 2024-04-04 18:48:51 +02:00
Marco
8f249d0080 Add PostgreSQL schema for new tables 'users_2fa' and 'users_otps' 2024-04-04 17:47:08 +02:00