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 |
|