Commit Graph

535 Commits

Author SHA1 Message Date
Bubka
2eaaf2bea8 Enhance logging during Release radar scan 2023-03-17 13:37:56 +01:00
Bubka
140cc70cef Make Login & API throttling editable using the .env file - Close #163 2023-03-17 11:08:03 +01:00
Bubka
9913560787 Enhance logging during authentication (#163) 2023-03-16 15:58:00 +01:00
Bubka
960d1ca5f9 Fix missing login throttling on WebAuthn login controller 2023-03-16 13:23:58 +01:00
Bubka
82717077be Remove invalid calls to the Settings facade 2023-03-15 16:26:32 +01:00
Bubka
4d8180a8c1 Replace the useWebauthnAsDefault option by a client side form toggle 2023-03-15 14:44:51 +01:00
Bubka
f359a1ade3 Fix user preferences not being applied correctly after sign-in 2023-03-15 11:46:37 +01:00
Bubka
5ced8cbf0e Make the User Name unique 2023-03-13 14:53:42 +01:00
Bubka
dc71d87f61 Make the RemoteUserProvider use a db persisted user & Update tests 2023-03-12 17:47:40 +01:00
Bubka
dce3d16c37 Apply Laravel Pint fixes 2023-03-10 22:59:46 +01:00
Bubka
4753401827 Prevent last admin deletion & Update the Delete user feature 2023-03-10 16:02:56 +01:00
Bubka
fd6941d300 Update the About view and its controller to split user & admin vars 2023-03-10 16:01:23 +01:00
Bubka
6b6ad12bb7 Add an Admin scope to retrieve Admin users easily 2023-03-10 15:58:05 +01:00
Bubka
a2e0c52189 Add a Unique rule for user email validation in update/store requests 2023-03-10 15:57:34 +01:00
Bubka
0a8807d87a Update & Complete API controllers tests and Unit tests 2023-03-08 17:49:52 +01:00
Bubka
823acde49d Fix the TwoFAccount Export feature & add related tests 2023-03-08 09:41:57 +01:00
Bubka
af4400a74d Update Authorizations, Logs and Tests for TwoFAccounts management 2023-03-08 09:41:18 +01:00
Bubka
b07150a14a Refactor groups service and controller again 2023-03-07 17:45:40 +01:00
Bubka
79bc9020b2 Add ide-helper files & Update phpdocs 2023-03-02 15:24:57 +01:00
Bubka
4006deb1e0 Fix the user provider not honoring the useWebauthnOnly option 2023-03-02 15:07:46 +01:00
Bubka
47be24b60f Fix calls to Setting instead of User preferences 2023-03-02 14:34:05 +01:00
Bubka
c5daeb5376 Refactor groups service and controller for better authorization handling 2023-03-02 14:32:53 +01:00
Bubka
9133436020 Update logs messages 2023-02-27 00:33:42 +01:00
Bubka
27717d05b8 Move Authorization checks to Service for Groups & Update tests 2023-02-27 00:32:49 +01:00
Bubka
fe9eb19825 Make the reset-testing command create multi-user test data 2023-02-25 22:29:55 +01:00
Bubka
1788887f85 Fix twofaccounts count missing in groups listing & Active group saving 2023-02-25 22:24:44 +01:00
Bubka
c8c1530b51 Apply Laravel Pint fixes 2023-02-25 22:23:38 +01:00
Bubka
e0f0afc505 Bind Groups to Users & Add relevant authorizations with policies 2023-02-23 16:59:16 +01:00
Bubka
3c77503fb1 Bind TwoFAccounts to Users & Add relevant authorizations with policies 2023-02-23 10:53:58 +01:00
Bubka
ed3a17a4fb Add IDs to logs to identify the user concerned by the logged event 2023-02-21 14:09:36 +01:00
Bubka
5c83e17752 Let the WebAuthn form log in any user 2023-02-21 09:29:05 +01:00
Bubka
90f322f3b1 Set the first user to be an admin 2023-02-20 17:12:24 +01:00
Bubka
3c3d35bff5 Enable creation of multiple users 2023-02-20 17:09:59 +01:00
Bubka
46508fda75 Remove user check and redirection to registration on first landing 2023-02-19 23:00:39 +01:00
Bubka
373ffa14c8 Fix language definition in blade view 2023-02-19 22:59:20 +01:00
Bubka
5e5e50d053 Add Admin role & split settings between appSettings and userPreferences 2023-02-17 17:12:53 +01:00
Bubka
77eebbd35d Use Laravel Cache to optimize access to user Settings 2023-02-15 08:41:35 +01:00
Bubka
ef7ccac88e Change version comparison method in ReleaseRadarService 2023-02-08 16:18:57 +01:00
Bubka
7137f0e7a1 Add support of floats to SettingService 2023-02-08 16:18:57 +01:00
Bubka
eadebb41ac Add a Light theme and a theme detection/selection feature 2023-02-01 17:21:55 +01:00
Bubka
dcc6579365 Fix custom base URL support 2023-01-25 16:58:30 +01:00
Bubka
05eafe51ac Merge hotfixes for v3.4.2 into dev 2023-01-25 13:37:25 +01:00
Bubka
664bca3448 Fix #160 : Steam otpauth URIs are rejected by the Import feature 2023-01-25 13:12:03 +01:00
Bubka
8f6bf85fa8 Add support for custom base URL - resolve #114 2023-01-20 17:36:15 +01:00
Bubka
17137b9885 Add support for 2FAuth json migration 2022-12-14 22:24:57 +01:00
Bubka
88195a6afb Add export feature to the Edit mode - Complete #100 2022-12-14 22:24:57 +01:00
Bubka
2d706e61b7 Apply Laravel Pint fixes 2022-12-13 12:07:29 +01:00
Bubka
5efcdddd88 Refactor the icons recording & Update tests 2022-12-13 11:26:35 +01:00
Bubka
b6e4cf50a4 Remove the ability to set a plain text secret 2022-12-13 09:05:56 +01:00
Bubka
6ab73cba3a Change log level in migrators 2022-12-09 10:55:39 +01:00
Bubka
65c4bbc496 Apply Laravel Pint fixes 2022-12-09 10:55:11 +01:00
Bubka
05a39b6501 Update tests & minor fixes 2022-12-09 10:53:01 +01:00
Bubka
7ce7067380 Refactor LogoService resolution 2022-11-25 15:20:36 +01:00
Bubka
d6fd8e3c52 Apply Laravel Pint fixes 2022-11-25 15:20:36 +01:00
Bubka
d84dd6659e Complete phpDocs type-hints 2022-11-25 15:20:36 +01:00
Bubka
de4422c795 Fix exception thrown when deleting TwoFAccount without icon 2022-11-25 15:20:36 +01:00
Bubka
b6a0e5055c Fix multiple issues detected by static analysis 2022-11-25 15:20:36 +01:00
Bubka
017bbc6304 Replace darkghosthunter/larapass with laragear/webauthn 2022-11-25 15:20:36 +01:00
Bubka
0ac04a321d Upgrade to Laravel 9 2022-11-25 15:18:19 +01:00
Bubka
1b8d4b78c5 Revert "Log auth exception to debug iOS logout issue"
This reverts commit 125daebcbc.
2022-10-19 09:13:42 +02:00
Bubka
e40e58c0bf Log failed login 2022-10-18 18:51:45 +02:00
Bubka
125daebcbc Log auth exception to debug iOS logout issue 2022-10-18 18:50:56 +02:00
Bubka
6276c665a9 Add logs for common Auth actions 2022-10-18 17:34:56 +02:00
Bubka
6a41c77144 Fix issues detected by static code analysis 2022-10-12 11:14:17 +02:00
Bubka
8d3a97a701 Complete the release radar to notify new 2Fauth releases - Close #127 2022-10-12 11:14:17 +02:00
Bubka
ed19b482cd Add support for 2FAS Auth export and fix some issues with migrators 2022-10-11 11:20:43 +02:00
Bubka
5c35f815ba Set Imports IDs from constants 2022-10-10 13:44:12 +02:00
Bubka
e5c21d1189 Force lowercase for the Algorithm attribute to fix markAsDuplicate() 2022-10-10 13:43:09 +02:00
Bubka
7c924126a3 Fix empty secret after running fillWithOtpParameters() 2022-10-10 13:02:36 +02:00
Bubka
a47975c46e Fix validation issue with migration requests 2022-10-10 12:55:59 +02:00
Bubka
eb05d39210 Add icon import from Aegis migration data 2022-10-10 11:24:02 +02:00
Bubka
1af32ecbf4 Set icon filename generation as a helper function 2022-10-10 11:21:42 +02:00
Bubka
e79ae0a3ed Refactor and finalize the Import feature for G.Auth, Aegis & Plain Text 2022-10-07 19:01:09 +02:00
Bubka
41387453d5 Refactor Import feature to support more sources of export 2022-09-30 13:58:31 +02:00
Bubka
062d809a28 Initiate the Release Radar 2022-09-21 21:50:41 +02:00
Bubka
b5c6f8f406 Fix #126 - Save updated HOTP counter after an OTP generation 2022-09-14 16:37:58 +02:00
Bubka
cc70fdacf6 Remove Auth env var from the About page for anonymous user 2022-09-07 18:07:37 +02:00
Bubka
03e2decddc Use GuardHelpers trait & Enhance RemoteUserProvider 2022-09-07 17:58:34 +02:00
Bubka
3e391167c6 Make language detection more robust 2022-09-07 17:56:42 +02:00
Bubka
2123250a5e Fix multiple issues detected by static analysis 2022-09-07 17:54:27 +02:00
Bubka
61d177aecd Handle icon & qrcode upload failure gracefully 2022-09-02 14:28:57 +02:00
Bubka
70c4c271cd Fix some issues detected by static analysis 2022-08-26 16:06:59 +02:00
Bubka
fbb85342c1 Fix #110 - Reset WebAuthn user options after last device revocation 2022-08-10 18:39:41 +02:00
Bubka
3f279f358c Add user logging after WebAuthn authentication - Fix #109 2022-08-02 10:57:16 +02:00
Bubka
6da24f7063 Reinstate user logging middleware for web routes behind auth - Fix #109 2022-08-02 09:27:35 +02:00
Bubka
ce83d5f300 Fix #107 - Skip encryption when attribute is null 2022-08-01 08:24:49 +02:00
Bubka
ce842f3fc0 Fix Official icon not fetched on Preview 2022-07-30 21:23:54 +02:00
Bubka
f7ac1e96c3 Set SettingService behind a Facade 2022-07-30 17:51:02 +02:00
Bubka
be632bb489 Set TwoFAccountService as static behind a Facade 2022-07-30 11:38:20 +02:00
Bubka
fdc944be0e Set getLogo() as protected 2022-07-30 11:25:45 +02:00
Bubka
601d50e8a4 Set GroupService as static behind a Facade 2022-07-30 11:25:19 +02:00
Bubka
2fcaf46c9d Set QrCodeService as static behind a Facade 2022-07-30 10:46:02 +02:00
Bubka
e2bfbe5868 Bind TwoFAccountService to Service Container 2022-07-29 19:22:54 +02:00
Bubka
e49c358cda Bind SettingService & GroupService to the Service Container 2022-07-29 18:34:27 +02:00
Bubka
14609dec95 Bind QrCodeService to the Service Container 2022-07-29 16:42:52 +02:00
Bubka
9bf165895f Fix Artisan command calling a deprecated service method 2022-07-28 22:01:33 +02:00
Bubka
38d3744d39 Make the logo fetching optional 2022-07-26 22:35:04 +02:00
Bubka
8e397fb5ca Fix #103 - Remove replicated service's name in account's name during G-Auth import 2022-07-25 17:12:10 +02:00
Bubka
c25aaa3371 Fix & Complete tests 2022-07-22 16:27:16 +02:00
Bubka
5aec206f99 Fix parameter type mismatch 2022-07-22 16:25:53 +02:00
Bubka
5bab7d4912 Add a user option to disable Official icons fetching 2022-07-21 19:07:53 +02:00
Bubka
2fa2cf8c99 Add an About view - Close #91 2022-07-21 15:48:23 +02:00
Bubka
3d7607cb53 Add the logo fetching feature to the Create/Edit forms 2022-07-20 13:41:28 +02:00
Bubka
9b634dd55f Move method from model to the Logo service 2022-07-20 13:41:28 +02:00
Bubka
e540e2bb26 Use Storage::disk() where possible 2022-07-20 13:41:28 +02:00
Bubka
bf32b37176 Add Logo fetching service - Close #99 2022-07-20 13:41:28 +02:00
Bubka
02cf9a2be9 Disable the Steam icon preloading 2022-07-14 21:51:00 +02:00
Bubka
1f9ac91734 Add log for debug 2022-07-14 18:05:19 +02:00
Bubka
f3166fded1 Update Protobuf README 2022-07-13 15:42:37 +02:00
Bubka
0345ca86ad Fix syntax unsupported by php7.4 2022-07-13 11:02:09 +02:00
Bubka
ed3b718293 Remove unreachable instructions 2022-07-12 22:46:59 +02:00
Bubka
68ebeeb53a Close #88 - Remove the "Already authenticated" error on login forms 2022-07-12 12:32:32 +02:00
Bubka
cb2de26e93 Add a reset command to set up a Testing app with data (like Demo) 2022-07-07 16:39:57 +02:00
Bubka
b01718f2e8 Add automatic icon retrieval for Steam account 2022-07-07 11:43:23 +02:00
Bubka
e03ec30040 Set min OTP digits to 5 to support Steam 2022-07-07 11:34:47 +02:00
Bubka
450769da0e Update Protobuf classes 2022-07-06 17:21:37 +02:00
Bubka
720eb16750 Refactoring - Move OTPHP logic to TwoFAccount model 2022-07-06 17:10:50 +02:00
Bubka
c998356ba5 Add steamtotp to validation requests 2022-06-25 17:31:39 +02:00
Bubka
c20e5f79ef Move G-Auth import logic from controller to service 2022-06-20 17:55:40 +02:00
Bubka
0cccdf32ed Add back-end route|controller|request for import feature 2022-06-20 17:55:40 +02:00
Bubka
5940cbf93f Generate protobuf classes for Google Authenticator import 2022-06-20 17:55:40 +02:00
Bubka
f2b7664a2f Fix logging of deleted ids 2022-06-01 00:10:29 +02:00
Bubka
f2716782f7 Log twofaccount deletion 2022-05-31 23:37:26 +02:00
Bubka
abce20419b Fix #80 - Cannot access accounts with proxy header auth 2022-05-19 16:42:43 +02:00
Bubka
9deb821d53 Render proxy authentication exception as 407 response 2022-05-19 15:47:34 +02:00
Bubka
0199ad3a77 Fix #84 - Reverse proxy guard authenticates even with invalid headers 2022-05-18 23:58:29 +02:00
Bubka
c2edd69c54 Fix missing email address of remote user 2022-05-18 22:50:13 +02:00
Bubka
6fab8abb9a Fix user creation issue in remote user provider 2022-05-18 16:09:41 +02:00
Bubka
6ef67fbc64 Fix #82 - Add a proxy logout URL and skip auto lock when it is not set 2022-05-16 23:51:33 +02:00
Bubka
070c6a2486 Fix #73 - CSRF token mismatch 2022-05-14 13:45:12 +02:00
Bubka
233c61d659 Clean logout mixin and session middleware 2022-05-13 16:44:01 +02:00
Bubka
5e0ea50e76 Restore Demo flags 2022-05-10 08:57:45 +02:00
Bubka
7f2806e7d9 Fix test error on kick-out inactive user 2022-05-10 00:59:07 +02:00
Bubka
ebdca6bb42 Force logout of inactive users 2022-05-09 18:39:06 +02:00
Bubka
02ebccb4de Use single quote in raw SQL to fix postgres error 2022-04-14 15:13:10 +02:00
Bubka
bf495f9019 Add trusted proxies as an env var 2022-04-14 11:34:40 +02:00
Bubka
0999ad5a24 Fix possible MySQL index length issue when using MyISAM engine in WAMP 2022-04-04 09:23:23 +02:00
Bubka
b0b648cf80 Add & validate MySQL tests 2022-04-01 13:35:59 +02:00
Bubka
ee22e24cf1 Fix and complete tests 2022-03-31 11:24:02 +02:00
Bubka
5eee3de134 Refactor routes rejection using middlewares 2022-03-31 11:24:02 +02:00
Bubka
ff93fb313d Complete the ResetDemo artisan command with newly added db tables 2022-03-31 11:24:01 +02:00
Bubka
a786efc6e8 Apply Demo restrictions on more routes 2022-03-31 11:24:01 +02:00
Bubka
cdfda1591b Add possibility to delete the registered user and reset 2FAuth data 2022-03-31 11:24:01 +02:00
Bubka
dbb17b3f12 Remove useless routeMiddlewares 2022-03-31 11:24:01 +02:00
Bubka
9b96c5fd70 Code cleaning 2022-03-31 11:24:01 +02:00
Bubka
725c012042 Fix and complete reverse-proxy support & Adjust front-end views 2022-03-31 11:24:01 +02:00
Bubka
911e18c9c4 Add reverse-proxy guard to support authentication proxy 2022-03-31 11:24:01 +02:00
Bubka
f3c6b9da5b Add WebAuthn authentication 2022-03-31 11:24:01 +02:00
Bubka
9f574feada Add support of the Accept_language header for UI localization 2022-03-31 11:24:01 +02:00
Bubka
20856d62c6 Upgrade to Laravel 8 2022-03-31 11:24:01 +02:00
Bubka
65da59db64 Drop appstract/laravel-options package 2022-03-31 11:24:01 +02:00
Bubka
8b0871e8ba Complete Unit, Feature and Api tests 2022-03-31 11:24:01 +02:00
Bubka
054b8a2c21 Update services doc block 2022-03-31 11:24:01 +02:00
Bubka
4ee3557cc1 Refactor login FormRequest and email case sensitive validation rule 2022-03-31 11:24:01 +02:00
Bubka
0a22fb4cf1 Move model events from eloquent closures to dedicated event classes 2022-03-31 11:24:01 +02:00
Bubka
97aefcbbe5 Use real-time facade to inject Setting service to ensure testability 2022-03-31 11:24:01 +02:00
Bubka
531cd74758 Refactor db encryption feature 2022-03-31 11:24:01 +02:00
Bubka
776b2b5093 Update controllers doc block 2022-03-31 11:24:01 +02:00
Bubka
3669dd7e31 Replace deprecated method from Laravel 6.x 2022-03-31 11:24:01 +02:00
Bubka
77234ddc66 Fix type hinting for TwoFAccount resources 2022-03-31 11:24:01 +02:00
Bubka
91fd43b528 Fix get method not returning all possible settings 2022-03-31 11:24:01 +02:00
Bubka
d537c98b76 Fix default group not being defined correctly 2022-03-31 11:24:01 +02:00
Bubka
923ff04e3c Remove useless method parameter 2022-03-31 11:24:01 +02:00
Bubka
025cfc5e58 Restrict comparison to null value only 2022-03-31 11:24:01 +02:00
Bubka
45b835bbd5 Reorganize and enhance tests 2022-03-31 11:24:01 +02:00
Bubka
eea7cec043 Fix inactivity middleware trying to logout stateless request 2022-03-31 11:24:01 +02:00
Bubka
6533f844d9 Fix null group_id on twofaccount creation with specific default group 2022-03-31 11:24:01 +02:00
Bubka
a6d4b6c5f6 Fix reset-demo artisan command and its test 2022-03-31 11:24:01 +02:00
Bubka
c8218c8cd7 Authorize FormRequests to authenticated user only 2022-03-31 11:24:01 +02:00
Bubka
f5e632b4e5 Fix assignAccounts not returning a group resource 2022-03-31 11:24:01 +02:00
Bubka
6bc3f74459 Refresh twofaccounts count after group assignment 2022-03-31 11:24:01 +02:00
Bubka
ca4b16a7cc Fix Group resource returning null twofaccounts_count 2022-03-31 11:24:01 +02:00
Bubka
7efa86b232 Set up paths & namespace to match versioned routes 2022-03-31 11:24:01 +02:00
Bubka
0383f07ad7 Add versioning to Laravel routes 2022-03-31 11:24:01 +02:00
Bubka
9ca9fcc9ef Reorganize files to prepare API versioning 2022-03-31 11:24:01 +02:00
Bubka
affd4bdf8d Enable CORS 2022-03-31 11:24:01 +02:00
Bubka
8318f0f7a6 Disable inactivity tracking for user authenticated against bearer token 2022-03-31 11:24:01 +02:00
Bubka
d6306e5dd0 Use FreshApiToken instead of Personal access token for front-end auth 2022-03-31 11:24:01 +02:00
Bubka
6fab74368f Cast Number settings as integer instead of float 2022-03-31 11:24:01 +02:00
Bubka
5db549fe5e Add logs 2022-03-31 11:24:01 +02:00
Bubka
9e899aab53 Add Artisan command to fix inconsistent accounts after migration 2022-03-31 11:24:01 +02:00
Bubka
c7b43de835 Replace DbProtection class by an Encryption service 2022-03-31 11:24:01 +02:00
Bubka
bb76f851d8 Reset default/active group when deleting a group 2022-03-31 11:24:01 +02:00
Bubka
aa7321ce81 Change returned type to handle exceptions correctly 2022-03-31 11:24:01 +02:00
Bubka
2cb4578109 Move options to config/2fauth 2022-03-31 11:24:01 +02:00
Bubka
a58a4a3def Handle comma-separated ids correctly 2022-03-31 11:24:01 +02:00
Bubka
194eb54335 Fix TwoFAccounts assignment when destination group does not exist 2022-03-31 11:24:01 +02:00
Bubka
faada93720 Remove inconsistent icon delete 2022-03-31 11:24:01 +02:00
Bubka
7bef68e731 Fix TwoFAccount update validation rules again 2022-03-31 11:24:01 +02:00
Bubka
8eae21e4da Fix TwoFAccount controller update method not returning an API resource 2022-03-31 11:24:01 +02:00
Bubka
1d503ca313 Fix TwoFAccount update validation rules 2022-03-31 11:24:01 +02:00
Bubka
0f34736e4e Fix token algorithm not being updated 2022-03-31 11:24:01 +02:00
Bubka
d329b82a30 Fix comma-separated regex rule for ids 2022-03-31 11:24:01 +02:00
Bubka
c927f3f9ab Fix single TwoFAccount association to group 2022-03-31 11:24:01 +02:00
Bubka
72db88e9fa Fix error when submitting null OTP parameters 2022-03-31 11:24:01 +02:00
Bubka
52f9867fee Rename valid_for property to period 2022-03-31 11:24:01 +02:00
Bubka
f19fb0adad Add otp_type property when returning an OTP object 2022-03-31 11:24:01 +02:00
Bubka
c27bef1819 Fix change password validation rule not checking for confirmation 2022-03-31 11:24:01 +02:00
Bubka
69c3f08f7b Fix MySQL foreign key constraint error on Group delete 2022-03-31 11:24:01 +02:00
Bubka
b79570bcd9 Fix regex validation rule for TwoFAccounts batch delete 2022-03-31 11:24:01 +02:00