Commit Graph

528 Commits

Author SHA1 Message Date
Matt Scott
71405549a7
Feature Update: Allow more than 100 rows in the zone list view. (#1491) 2023-04-11 18:57:51 -04:00
Matt Scott
db30c77584
Show the current zone type and soa-edit-api settings on the zone settings page (#1504) 2023-04-11 18:56:29 -04:00
Matt Scott
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
Matt Scott
feb62cf39f
Updated settings model boolean value conversion to include additional test values. 2023-04-11 07:05:46 -04:00
Matt Scott
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
Matt Scott
9f076330d6
Removed legacy backend controller code for handling authentication settings form submission. 2023-04-10 19:54:47 -04:00
Matt Scott
69ce3cb88a
Added additional UI alerts / messaging to handle success / failure scenarios. 2023-04-10 19:52:18 -04:00
Matt Scott
e132ced669
Completed first pass at the jQuery Validation implementation for the authentication settings editor. 2023-04-10 19:29:18 -04:00
Matt Scott
ea10b814d6
Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 18:35:25 -04:00
Matt Scott
cf62890fcf
Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 17:28:54 -04:00
Matt Scott
a4b6fba2be
Working on implementing the jQuery Validation plugin for the authentication settings editor. 2023-04-10 16:35:02 -04:00
Matt Scott
6a19ed2903
Completed basic handling of authentication settings save process to the database. 2023-04-10 13:24:42 -04:00
Matt Scott
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
Matt Scott
022e780d77
Working on authentication editor data saving workflow. 2023-04-10 12:49:12 -04:00
Matt Scott
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
Matt Scott
827da59ae2
Working on Knockout model integration into existing authentication settings editor view. 2023-04-09 10:26:07 -04:00
Matt Scott
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
Matt Scott
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
Matt Scott
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
Matt Scott
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
Matt Scott
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
Matt Scott
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
Stefan Ubbink
bae746cffe Show the current zone type and soa-edit-api settings on the zone settings page 2023-04-03 17:40:46 +02:00
Stefan Ubbink
a2429ad9d6 Make it possible again to use a different Zone Type than 'native', fixes #1501 2023-04-02 20:46:32 +02:00
Matt Scott
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
Jan Koppe
0d0339a316
fix #1485: allow more than 100 rows default in dashboard
The dashboard.domains_custom route was hardcoded to either return all
the domains, or at most 100, regardless of default_domain_table_size
setting.

Make this limit be dependent on default_domain_table_size instead.

The API will now limit to 100 or default_domain_table_size, whichever
one is higher. This is done to not break any seconday use-cases that
might depend on the hardcoded setting.
2023-03-29 14:52:00 +02:00
Rauno Tuul
e0dffff325 Fix activity search form structure 2023-03-25 11:47:58 +02:00
Nigel Kukard
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
Nigel Kukard
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
Matt Scott
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
Matt Scott
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
Nigel Kukard
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
Matt Scott
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
Matt Scott
78f0332a2d
Merge branch 'dev' into nkupdates-password-policy 2023-03-17 15:31:10 -04:00
Matt Scott
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
Nigel Kukard
64017195da feat(authentication): check password policy during user profile password change 2023-03-17 03:45:37 +00:00
Nigel Kukard
fc14e9189d feat(authentication): check password policy during registration of new users 2023-03-17 03:45:09 +00:00
Nigel Kukard
1cea4b7ce3 feat(authentication): added password policy checker function 2023-03-17 03:44:08 +00:00
Nigel Kukard
bb6d2d0497 feat(authentication): added admin settings for password policies 2023-03-17 03:42:45 +00:00
Stefan Ubbink
a9e18ec594 Make sure old history items will also be shown 2023-03-16 18:36:47 +01:00
Stefan Ubbink
a2d1179fd2 Change domain(s) to zone(s) in the python code and docs 2023-03-16 17:02:23 +01:00
Stefan Ubbink
34902f6cf9 Change domain(s) to zone(s) in the templates 2023-03-16 17:02:23 +01:00
Nigel Kukard
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
Nigel Kukard
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
Stefan Ubbink
6eef5eb59c Make the OTP label the same as the site_name #1237 2023-03-13 18:54:49 +01:00
benshalev849
bd30c73ca4
Merge branch 'dev' into custom_current_user 2023-03-12 17:23:44 +02:00
Matt Scott
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
Your Name
ee68b18e27 Added custom header in created_by segment option 2023-03-12 13:36:30 +00:00
Matt Scott
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
Matt Scott
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