Commit Graph

525 Commits

Author SHA1 Message Date
f66d64ecbc Fixed an issue with Azure and OIDC sessions not being properly cleared on logout. 2023-04-11 19:09:33 -04:00
c98c174c23 Hopefully provided a reliable fix to the settings type conversion issues brought upon with the authentication settings editor overhaul. 2023-04-11 18:50:47 -04:00
feb62cf39f Updated settings model boolean value conversion to include additional test values. 2023-04-11 07:05:46 -04:00
c7aba5626d Moved authentication settings editor JavaScript into js_main assets build process instead of direct linking it to the view. 2023-04-10 19:58:58 -04:00
9f076330d6 Removed legacy backend controller code for handling authentication settings form submission. 2023-04-10 19:54:47 -04:00
69ce3cb88a Added additional UI alerts / messaging to handle success / failure scenarios. 2023-04-10 19:52:18 -04:00
e132ced669 Completed first pass at the jQuery Validation implementation for the authentication settings editor. 2023-04-10 19:29:18 -04:00
ea10b814d6 Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 18:35:25 -04:00
cf62890fcf Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 17:28:54 -04:00
a4b6fba2be Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 16:35:02 -04:00
6a19ed2903 Completed basic handling of authentication settings save process to the database. 2023-04-10 13:24:42 -04:00
2e30b83545 Added jQuery Validation 1.19.5 to the project NPM configuration as well as the Flask assets build script for js_main. 2023-04-10 13:06:06 -04:00
022e780d77 Working on authentication editor data saving workflow. 2023-04-10 12:49:12 -04:00
0912dd2805 Working on Knockout model integration into existing authentication settings editor view.
Settings are now loading via new backend API.
2023-04-10 07:39:21 -04:00
827da59ae2 Working on Knockout model integration into existing authentication settings editor view. 2023-04-09 10:26:07 -04:00
737e104912 Added KnockoutJS NPM package.
Re-formatted and re-organized settings model.

Working on Knockout model integration into existing authentication settings editor view.
2023-04-09 10:11:00 -04:00
ece9626212 Updated the OAuth login handlers to utilize uniform user naming variables.
Updated the GitHub login process to split the user's full name based on spaces so that first and last name are filled in on PDA profile.
2023-04-08 18:14:40 -04:00
9168dd99e0 Updated the OAuth login handlers to utilize uniform user naming variables.
Updated the GitHub login process to split the user's full name based on spaces so that first and last name are filled in on PDA profile.
2023-04-08 18:11:55 -04:00
a46ab760fd Reorganized universal OAuth fields' order to a uniform standard. Also updated the Client ID field prompts to a uniform standard. 2023-04-08 17:40:30 -04:00
ee9012fa24 Completed OAuth change to make the use of the metadata URL setting exclusive to the authorization and token URL settings. If the former is defined, it will be used in preference to the latter. 2023-04-08 17:14:55 -04:00
ab4495dc46 Completed the implementation of the SERVER_EXTERNAL_SSL environment setting into the app config files.
Completed the implementation of the aforementioned environment setting into the OAuth workflows.

Documented the aforementioned setting in the Environment-variables.md wiki document.
2023-04-08 17:05:27 -04:00
a2429ad9d6 Make it possible again to use a different Zone Type than 'native', fixes #1501 2023-04-02 20:46:32 +02:00
19335439bd Completed the removal of the OAuth JWKS URL setting as well as the update of how the existing metadata URL settings are being used.
For additional information, reference GitHub issue #1499.
2023-04-02 09:19:05 -04:00
e0dffff325 Fix activity search form structure 2023-03-25 11:47:58 +02:00
a954800869 fix(api): fixed internal server error being generated from invalid UTF-8 encoded X-API-KEY 2023-03-22 01:27:52 +00:00
138532fb95 fix: allow the specification of any combination of groups in LDAP group security configuration
Previous behavior required the specification of all three group security groups before the
"Save Settings" button would be enabled.

This adds a check into users.py which checks that the group is set before searching and
removes the javascript preventing the specification of any combination of groups.

Tested:
- Tested all combinations on AD after MR 1238
- Tested all combinations on OpenLDAP
- Tested enabling the Group Security with no groups set which correctly prevents login

Resolves #1462
2023-03-18 20:30:52 +00:00
c24b4b047d Merge pull request #1461 from nkukard/nkupdates-fix-session-clear
fix: fixed session clearing and let logout_user take care of cleanup
2023-03-18 16:05:20 -04:00
defb3e5a48 Merge pull request #1238 from melck/fix-ldap-ad-nested-member
Fix LDAP user group search for nested groups #1238
2023-03-18 16:03:48 -04:00
f44ff7d261 fix: fixed session clearing and let logout_user take care of cleanup
It seems when logging in and logging out, then logging back in, setting
the session timeout to 5 minutes, then waiting for expiry can cause
a situation when using SQLA-based sessions which results in a NULL field
in the database and causes a persistent 500 Internal Server Error.

As per issue 1439 here is a fix found by @raunz.

Resolves #1439.

Tested for about 8 hours and tons and tons of expired sessions, could not
reproduce with the fix applied.
2023-03-18 19:14:58 +00:00
a25dda8ac1 Made some formatting tweaks to the authentication settings view to unify section header styling.
Corrected improper markup introduced by recent PR for password complexity requirements.
2023-03-17 15:50:08 -04:00
78f0332a2d Merge branch 'dev' into nkupdates-password-policy 2023-03-17 15:31:10 -04:00
4fa8bf2556 Merge pull request #1454 from nkukard/nkupdates-fix-basic-auth-exception2
fix(auth:basic): Basic auth exception handling improvement
2023-03-17 15:28:20 -04:00
64017195da feat(authentication): check password policy during user profile password change 2023-03-17 03:45:37 +00:00
fc14e9189d feat(authentication): check password policy during registration of new users 2023-03-17 03:45:09 +00:00
1cea4b7ce3 feat(authentication): added password policy checker function 2023-03-17 03:44:08 +00:00
bb6d2d0497 feat(authentication): added admin settings for password policies 2023-03-17 03:42:45 +00:00
a9e18ec594 Make sure old history items will also be shown 2023-03-16 18:36:47 +01:00
a2d1179fd2 Change domain(s) to zone(s) in the python code and docs 2023-03-16 17:02:23 +01:00
34902f6cf9 Change domain(s) to zone(s) in the templates 2023-03-16 17:02:23 +01:00
17e3a8f942 fix(auth:basic): Basic auth exception handling improvement
Currently passing an invalid Basic auth header (random string base64 encoded) would result in an exception being raised due to a username, password = auth_header.split().

Similary passing a `Digest` authentication type would result in an exception as there is no :.

Thirdly passing invalid base64 encoded UTF-8 code sequences would result in exceptions as this issue (#1424).

I added code to check explicitly that we are doing basic authentication then by checking the number of entries returned by the split.

I also added exception handling for invalid UTF-8 code sequence exceptions.

Tested with a fuzzer.

Tested with valid and invalid credentials.

This fixes #1424.
2023-03-15 01:09:46 +00:00
24f94abc32 fix(auth:basic): improved API basic auth handling to avoid exceptions
Currently passing an invalid Basic auth header (random string base64 encoded) would result in an
exception being raised due to a `username, password = auth_header.split()`.

I refactored the code in this decorator by checking explicitly that we are doing basic authentication
then by checking the number of entries returned by the split.

I also added exception handling for invalid UTF-8 code sequences.

Tested with a fuzzer.

Tested with valid and invalid credentials.

This fixes #1447.
2023-03-14 23:19:40 +00:00
6eef5eb59c Make the OTP label the same as the site_name #1237 2023-03-13 18:54:49 +01:00
bd30c73ca4 Merge branch 'dev' into custom_current_user 2023-03-12 17:23:44 +02:00
84cfd165b4 Re-arranged side navigation to include the "Global Search" feature regardless of user role as the global search feature is now accessible to all users.
Also moved the "Activity" feature link higher in the menu to remove duplicate code from the navigation code base.
2023-03-12 10:27:04 -04:00
ee68b18e27 Added custom header in created_by segment option 2023-03-12 13:36:30 +00:00
1afe9b4908 Finished adding new OAuth Server Metadata URL setting to Google, GitHub, and Microsoft OAuth service configuration features. 2023-03-12 09:13:54 -04:00
fd30e3ff49 Added new JWKS URL setting for each OAuth provider and updated the associated authorization service to use the setting during the initialization of the authlib. 2023-03-11 14:46:58 -05:00
87891a3eb9 Re-formatted the assets.py file to current PEP8 standards.
Modified the yarn.lock file to remove what appears to be a dependency overwrite for Font Awesome icons which results in an older 5.x release overwriting the newer 6.x release.
2023-03-11 08:48:19 -05:00
dd867eb4e8 Added application version to base template footer, starting with the next planned production release of 0.4.0. 2023-03-10 18:43:20 -05:00
cb929c3265 Tweaked the assets.py build script to switch to rcssmin for the login CSS build process. 2023-03-10 18:16:55 -05:00