1
0
mirror of https://github.com/delight-im/PHP-Auth.git synced 2025-10-23 03:46:08 +02:00
Commit Graph

252 Commits

Author SHA1 Message Date
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
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
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
68f5b23fc5 Implement method 'Auth#isWaitingForSecondFactor' 2024-04-04 19:01:43 +02:00
Marco
fc468397e2 Add method 'Auth#provideOneTimePasswordAsSecondFactor' 2024-03-25 11:32:03 +01:00
Marco
76c756118b Replace calls on successful login with 'finishSingleFactorOrThrow' 2024-03-21 12:45:52 +01:00
Marco
dc04d52249 Implement method 'Auth#finishSingleFactorOrThrow' 2024-03-20 08:16:03 +01:00
Marco
29fbd7b480 Create method 'Auth#enableTwoFactorViaTotp' 2024-03-17 10:31:22 +01:00
Marco
b79246ff40 Create method 'Auth#prepareTwoFactorViaTotp' 2024-03-15 07:47:53 +01:00
Marco
8256fd11e8 Create method 'Auth::createSelectorForOneTimePassword' 2024-03-14 14:37:07 +01:00
Marco
e5310aa699 Document methods supposed to throw 'SecondFactorRequiredException' 2024-03-14 13:57:50 +01:00
Marco
bcfbc1d2f8 Add constants for designated mechanisms for OTP generation/delivery 2024-03-13 08:18:35 +01:00
Marco
3d19df85fc Create session fields to track pending 2FA after login 2024-03-13 08:13:44 +01:00
Marco
db7480be38 Create class 'SecondFactorRequiredException' 2024-03-11 11:14:12 +01:00
Marco
67b4cba4d9 Create class 'InvalidOneTimePasswordException' 2024-03-05 09:42:15 +01:00
Marco
d58519d831 Create class 'InvalidStateError' 2024-03-05 09:39:31 +01:00
Marco
759a523a92 Create class 'TwoFactorMechanismAlreadyEnabledException' 2024-03-05 09:38:44 +01:00
Marco
88fcc61562 Create class 'TwoFactorMechanismNotInitializedException' 2024-03-05 09:37:16 +01:00
Marco
ada9553919 Improve code style 2023-03-20 09:25:29 +01:00
Marco
f9700fcae6 Move unaffected code outside of try/catch statement 2023-03-20 09:23:13 +01:00
Marco
892512f6e1 Move unaffected code outside of try/catch statement 2023-03-20 08:19:43 +01:00
Marco
7bce546def Allow for 'Auth#throttle' to be used even when throttling is disabled 2021-04-21 16:39:10 +02:00
Marco
729c76668f Move all exceptions and errors to separate files for autoloading 2020-09-30 20:40:54 +02:00
Marco
157a7095b0 Use 'throttling' flag in 'Auth#forgotPassword' when limiting requests 2020-05-06 22:36:45 +02:00
Marco
0f976a260b Fix doc comment for parameter 'ipAddress' on 'Auth' constructor 2020-05-06 22:35:20 +02:00
Marco
d49b35690c Implement 'Auth#resetPasswordAndSignIn' 2020-04-20 21:34:00 +02:00
Marco
171519fdf3 Use 'see' tag to link 'Auth#id' to 'Auth#getUserId' 2020-04-20 21:32:43 +02:00
Marco
14ce7b1e8f Add references between four methods for password reset via 'see' tags 2020-04-20 21:31:28 +02:00
Marco
5214da1f59 Make 'Auth#resetPassword' return both the user's ID and their email 2020-04-20 20:47:27 +02:00
Marco
382832457d Make use of database name, schema or other qualifier in all statements 2018-08-28 23:44:50 +02:00
Marco
f70923679f Implement methods 'makeTableName' and 'makeTableNameComponents' 2018-08-28 23:25:28 +02:00
Marco
521e73662d Allow for specification of database name, schema or other qualifier 2018-08-28 22:03:40 +02:00
Marco
352260c759 Remove obsolete error class 'DatabaseDriverError' 2018-07-25 20:31:36 +02:00
Marco
9d08c939a0 Fail safely in role checks when invalid input has been supplied 2018-05-25 23:19:07 +02:00
Marco
f6607f664d Enhance 'DatabaseError' instances to be more verbose 2018-04-20 18:01:00 +02:00
Marco
0f8116e654 Also return old email from 'confirmEmail' and 'confirmEmailAndSignIn' 2018-03-25 04:55:58 +02:00
Marco
25f7a8908d Force logout in any open sessions when a user resets their password 2018-03-25 03:42:36 +02:00
Marco
a7c1ebcc9f Force logout in any other sessions when a user changes their password 2018-03-25 03:40:57 +02:00
Marco
71ce2b58c9 Force logout for users when administrators change their passwords 2018-03-25 03:38:12 +02:00