Commit Graph

412 Commits

Author SHA1 Message Date
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
Bubka
361ee38cf2 Change Settings attributes and routes 2022-03-31 11:24:01 +02:00
Bubka
8dc5e7d6e9 Fix Group resource overriding TwoFAccounts count 2022-03-31 11:24:01 +02:00
Bubka
a5514ba06b Refactor Auth controllers : thicker, with Form requests & API resource 2022-03-31 11:24:01 +02:00
Bubka
1a51cf967a Remove useless overrides since json is the default response format 2022-03-31 11:24:01 +02:00
Bubka
77cf15cf5e Move isDemoApp to a new 2FAuth config file 2022-03-31 11:24:01 +02:00
Bubka
350d00902e Add a new Exception to be gracefully rendered 2022-03-31 11:24:01 +02:00
Bubka
3aef29717f Clean unused namespaces 2022-03-31 11:24:01 +02:00
Bubka
10fc144246 Refactor Options to a Setting service bound with the service container 2022-03-31 11:24:01 +02:00
Bubka
afaa1a0a7a Update phpdocs 2022-03-31 11:24:01 +02:00
Bubka
037ebaa8ba Add groups accounts fetching with dedicated route 2022-03-31 11:24:01 +02:00
Bubka
6761b9e40b Set controllers to use Group service & API resources 2022-03-31 11:24:01 +02:00
Bubka
c7e273a580 Add Form Requests for Groups validation 2022-03-31 11:24:01 +02:00
Bubka
672e189e55 Refactor Group for thin model & Add a dedicated business service 2022-03-31 11:24:01 +02:00
Bubka
1091b95e49 Set mass DELETE according to REST (no request body) for twofaccounts 2022-03-31 11:24:00 +02:00
Bubka
5959b692de Change order saving endpoint and remove position property 2022-03-31 11:24:00 +02:00
Bubka
59a63f5a2a Move TwoFAccounts order saving to business service 2022-03-31 11:24:00 +02:00
Bubka
898ba1629e Make some cleaning 2022-03-31 11:24:00 +02:00
Bubka
0d91fb5aa2 Set controllers to use TwoFAccount business service 2022-03-31 11:24:00 +02:00
Bubka
719ea3854f Refactor TwoFAccount for thin model & Add a dedicated business service 2022-03-31 11:24:00 +02:00
Bubka
f22f389487 Set JSON resources without wrapping 2022-03-31 11:24:00 +02:00
Bubka
a2c67d1558 Add Form Requests for TwoFAccounts validation 2022-03-31 11:24:00 +02:00
Bubka
f7fcef77f1 Add new exceptions 2022-03-31 11:24:00 +02:00
Bubka
297b55f66f Reformat some responses 2022-03-31 11:24:00 +02:00