Éloi Rivard
|
44573713ed
|
refactor: move BackendModel.get to Backend.get
|
2024-05-03 21:54:03 +02:00 |
|
Éloi Rivard
|
fa6488bcd1
|
refactor: move BackendModel.fuzzy to Backend.fuzzy
|
2024-05-03 21:42:55 +02:00 |
|
Éloi Rivard
|
8425b2a3b8
|
refactor: move BackendModel.query to Backend.query
|
2024-05-03 21:42:54 +02:00 |
|
Éloi Rivard
|
4ce9f77a14
|
tests: use time-travel instead of freezegun
|
2024-05-02 10:26:32 +02:00 |
|
Éloi Rivard
|
69019763d4
|
feat: group member removal can be achieved from the group edition page
|
2024-04-28 19:47:57 +02:00 |
|
Éloi Rivard
|
69b565e1ad
|
refactor: LDAP backend tolerates double deletions
|
2024-04-28 16:18:36 +02:00 |
|
Éloi Rivard
|
c10a33da6d
|
tests: fix unit tests with pytest-xdist
|
2024-04-28 09:22:59 +02:00 |
|
Éloi Rivard
|
288ad161d3
|
tests: test mail attachments mimetypes
|
2024-04-27 14:36:34 +02:00 |
|
Éloi Rivard
|
ebcaaeaded
|
tests: fix GHA
For some reasons, webp mimetypes failed to be guessed on GHA.
|
2024-04-27 14:06:20 +02:00 |
|
Éloi Rivard
|
dc89a20b11
|
chore: configure ruff
|
2024-04-23 22:12:04 +02:00 |
|
Éloi Rivard
|
afa0a6ff1e
|
feat: env_prefix create_app variable can select the environment var prefix
|
2024-04-22 18:10:49 +02:00 |
|
Éloi Rivard
|
7fc887a492
|
feat: ENV_FILE configuration variable can customize the .env file
|
2024-04-22 16:37:31 +02:00 |
|
Éloi Rivard
|
69617c1005
|
tests: use only use Model.identifier when this is pertinent
|
2024-04-17 15:50:39 +02:00 |
|
Éloi Rivard
|
acf8acf29f
|
fix: locked users cannot use OIDC authorization codes
|
2024-04-17 13:05:14 +02:00 |
|
Éloi Rivard
|
6180e5fce2
|
tests: rename tests in test_authorization_code_flow.py
|
2024-04-17 12:58:58 +02:00 |
|
Éloi Rivard
|
354a406966
|
tests: move token expiration tests in their own file
|
2024-04-17 12:56:35 +02:00 |
|
Éloi Rivard
|
b6659f47e7
|
tests: refactor test_refresh_token
|
2024-04-17 12:42:26 +02:00 |
|
Éloi Rivard
|
ba394af338
|
tests: refactor test_cannot_refresh_token_for_locked_users
|
2024-04-17 12:23:54 +02:00 |
|
Éloi Rivard
|
fc8c0da912
|
fix: locked users cannot use refresh tokens
|
2024-04-17 12:07:11 +02:00 |
|
Éloi Rivard
|
31423cde1a
|
refactor: split oidc.authorize endpoint in several smaller functions
|
2024-04-17 11:56:44 +02:00 |
|
Éloi Rivard
|
ce890ca0ad
|
tests: use pytest-lazy-fixtureS instead of pytest-lazy-fixture
|
2024-04-16 18:33:58 +02:00 |
|
Éloi Rivard
|
1080952a75
|
tests: speed up unit tests by caching the jinja bytecode between tests
|
2024-04-16 12:46:53 +02:00 |
|
Éloi Rivard
|
f9989a960b
|
feat: locked users cannot be impersonated
|
2024-04-12 12:12:08 +02:00 |
|
Éloi Rivard
|
565d57a887
|
tests: split test_account.py
|
2024-04-12 11:23:51 +02:00 |
|
Éloi Rivard
|
6e26656cc4
|
tests: move test_model_references_set_unsaved_object to the ldap tests directory
|
2024-04-12 10:49:56 +02:00 |
|
Éloi Rivard
|
4037c296cf
|
fix: JAVASCRIPT and HTMX configuration settings were ignored
|
2024-04-09 12:07:00 +02:00 |
|
Éloi Rivard
|
920395c27f
|
feat: sign in/out events are logged in #177
|
2024-04-09 10:04:26 +02:00 |
|
Éloi Rivard
|
053156ec18
|
feat: additional messages on password endpoint errors
when attempt_login is not found on the session, add a warning to be
displayed on the login page after redirection
|
2024-04-09 09:20:38 +02:00 |
|
Éloi Rivard
|
5aaccca4cf
|
fix: display an error message when trying to remove the last user from a group
|
2024-04-08 14:44:15 +02:00 |
|
Éloi Rivard
|
fe2665ae32
|
fix: LDAP user group removal
|
2024-04-08 14:15:28 +02:00 |
|
Éloi Rivard
|
fbbcd2fe78
|
fix: saving an object with the LDAP backend keeps the objectClass un-managed by Canaille
|
2024-04-08 10:29:47 +02:00 |
|
Éloi Rivard
|
88832b5b3b
|
refactor: move User.check_password and User.set_password methods to Backend
|
2024-04-07 20:17:15 +02:00 |
|
Éloi Rivard
|
5a6ce24074
|
refactor: move User.get_from_login method to Backend
|
2024-04-07 20:17:15 +02:00 |
|
Éloi Rivard
|
e9c4f4c1c9
|
refactor: differenciate between login and username in forms
|
2024-04-07 19:50:26 +02:00 |
|
Éloi Rivard
|
2cab4bfa66
|
refactor: use User.get instead of User.get_from_login when this is pertinent
|
2024-04-07 18:46:08 +02:00 |
|
Éloi Rivard
|
e339d1169d
|
refactor: User.has_password factorization
|
2024-04-07 18:33:43 +02:00 |
|
Éloi Rivard
|
1fbb074cc5
|
refactor: user permissions lazy loading
|
2024-04-07 15:21:32 +02:00 |
|
Éloi Rivard
|
30bd71c5b5
|
tests: fix coverage
|
2024-04-07 09:33:56 +02:00 |
|
Éloi Rivard
|
f113188368
|
refactor: factorize match_filter in the main User class
|
2024-04-07 01:25:44 +02:00 |
|
Éloi Rivard
|
75837fa207
|
refactor: model attributes are walked from the top to the bottom
|
2024-04-06 22:46:11 +02:00 |
|
Éloi Rivard
|
ec7a721336
|
refactor: ldap objects id attribute is based on entryUUID instead of dn
|
2024-04-05 15:35:49 +02:00 |
|
Éloi Rivard
|
7b054bb571
|
refactor: ldap backend use a server control to re-read objects after update
|
2024-04-05 14:34:48 +02:00 |
|
Éloi Rivard
|
18e3f8cde5
|
refactor: split the base model class in two
|
2024-04-01 18:55:05 +02:00 |
|
Éloi Rivard
|
c1b901261f
|
tests: uncomment some assertions
|
2024-04-01 18:38:12 +02:00 |
|
Éloi Rivard
|
efe3a3c4c4
|
refactor: assume ACL have default values
|
2024-03-30 17:21:40 +01:00 |
|
Éloi Rivard
|
dd7768e0d2
|
tests: no OIDC test outside the OIDC zone
|
2024-03-29 17:34:08 +01:00 |
|
Éloi Rivard
|
ea220e8a93
|
fix: pytest skip decorator
|
2024-03-29 17:17:59 +01:00 |
|
Éloi Rivard
|
bfae3fbe18
|
doc: pydantic-settings nested secret directories are not ready yet
https://github.com/pydantic/pydantic-settings/issues/154
|
2024-03-29 13:57:03 +01:00 |
|
Éloi Rivard
|
8625318341
|
feat: use pydantic to validate the configuration
|
2024-03-28 17:44:26 +01:00 |
|
Éloi Rivard
|
ffa12b0f71
|
feat: created and last_modified model attributes
|
2024-03-27 13:57:38 +01:00 |
|
Éloi Rivard
|
dc81832159
|
feat: usedefault python logging configuration format
|
2024-03-15 20:12:07 +01:00 |
|
Éloi Rivard
|
4edffcaa9f
|
chore: use isort instead of reoder-python-imports
|
2024-03-15 19:58:37 +01:00 |
|
Éloi Rivard
|
bd57d69765
|
chore: pre-commit update
|
2024-03-07 18:52:23 +01:00 |
|
Éloi Rivard
|
395b6ab4f3
|
chore: add docformatter pre-commit
|
2023-12-28 18:31:57 +01:00 |
|
Éloi Rivard
|
e8b620588e
|
refactor: LDAP backend initialization
|
2023-12-27 10:57:22 +01:00 |
|
Éloi Rivard
|
a237fa0198
|
chore: pre-commit update
|
2023-12-26 01:13:11 +01:00 |
|
Éloi Rivard
|
a4a381d088
|
refactor: gather endpoints in a 'endpoints' directory
|
2023-12-26 00:30:19 +01:00 |
|
Éloi Rivard
|
38038d8db9
|
refactor: use 'url_for' in templates instead of static urls
|
2023-12-25 20:15:21 +01:00 |
|
Éloi Rivard
|
5c11ebf0d3
|
feat: ldap connection is lazilly opened
|
2023-12-25 14:26:08 +01:00 |
|
Éloi Rivard
|
d0dbaa588c
|
refactor: no more explicit conn argument in the LDAP backend
|
2023-12-25 14:03:47 +01:00 |
|
Éloi Rivard
|
95882c737b
|
fix: LDAP backend connection error display
|
2023-12-25 13:56:57 +01:00 |
|
Éloi Rivard
|
772a364128
|
fix: group field error prevented the registration form validation
|
2023-12-24 12:05:29 +01:00 |
|
Éloi Rivard
|
06b60e1747
|
fix: post_logout_redirect_uris was ignored during OIDC dynamic registration
|
2023-12-23 21:32:31 +01:00 |
|
Éloi Rivard
|
c847ef9284
|
feat: OIDC prompt=create implementation
|
2023-12-23 19:37:48 +01:00 |
|
Éloi Rivard
|
577bca360e
|
tests: renamed other_client fixture in trusted_client
|
2023-12-23 19:37:27 +01:00 |
|
Éloi Rivard
|
521ed75f18
|
fix: correctly set up Client audience during OIDC dynamic registration
|
2023-12-23 19:37:14 +01:00 |
|
Éloi Rivard
|
0d4174de43
|
tests: fix OIDC well-known tests
|
2023-12-23 17:24:03 +01:00 |
|
Éloi Rivard
|
9ff0411e9e
|
tests: extracted the prompt tests in a dedicated file
|
2023-12-22 21:18:02 +01:00 |
|
Éloi Rivard
|
97394823bf
|
fix: return a 403 error when users are missing permissions for OIDC authentication
|
2023-12-22 16:39:20 +01:00 |
|
Éloi Rivard
|
cccbafeb0e
|
tests: fix a wrong default permission
|
2023-12-21 19:04:05 +01:00 |
|
Éloi Rivard
|
52fc93a481
|
refactor: avoid to directly use the 'configuration' fixture in tests
|
2023-12-19 18:28:04 +01:00 |
|
Éloi Rivard
|
7fed235437
|
fix: redirection after password reset
|
2023-12-15 16:12:33 +01:00 |
|
Éloi Rivard
|
7a2d7ca1db
|
tests: add a test that sends a mail without SERVER_NAME
|
2023-12-14 22:39:42 +01:00 |
|
Éloi Rivard
|
49466012e7
|
chore: bump to flask 2.3
|
2023-12-14 22:01:08 +01:00 |
|
Éloi Rivard
|
a3908883e3
|
tests: use canaille.test domain instead of localhost
|
2023-12-14 20:07:49 +01:00 |
|
Éloi Rivard
|
c563646bfe
|
tests: dynamic smtp configuration
|
2023-12-14 20:04:18 +01:00 |
|
Éloi Rivard
|
f08c452a03
|
tests: mail testing refactoring
|
2023-12-14 19:27:37 +01:00 |
|
Éloi Rivard
|
3b46d6af61
|
tests: remove pytest-flask dependency
|
2023-12-14 16:28:46 +01:00 |
|
Éloi Rivard
|
066aed7735
|
feat: convert the png in webp
|
2023-12-01 22:09:54 +01:00 |
|
Éloi Rivard
|
a7e574f754
|
feat: use sqlalchemy-utils PasswordType to store and hash user passwords
|
2023-12-01 09:29:59 +01:00 |
|
Éloi Rivard
|
969f3e980c
|
fix: password comparision was too permissive on login
|
2023-11-28 18:10:47 +01:00 |
|
Éloi Rivard
|
aa07059357
|
fix: password and initalization emails were only sent to the preferred user email address
|
2023-11-28 17:59:50 +01:00 |
|
Éloi Rivard
|
98e8aa9b39
|
fix: only the first password letter was used
|
2023-11-28 15:51:14 +01:00 |
|
Éloi Rivard
|
27639081f0
|
feat: implement sqlalchemy backend
Co-authored-by: Loan Robert <loan@yaal.coop>
|
2023-11-24 13:57:46 +01:00 |
|
Éloi Rivard
|
e6cf6ad7bd
|
tests: backport tests from sqlachemy branch
|
2023-11-24 12:10:17 +01:00 |
|
Éloi Rivard
|
02c8f0b177
|
refactor: Backend.install calls uniformization
|
2023-11-24 11:13:17 +01:00 |
|
Éloi Rivard
|
ed73916fa7
|
tests: add missing __init__.py
|
2023-11-24 10:14:44 +01:00 |
|
Éloi Rivard
|
79533acc4b
|
tests: fix backend assignation for tests
|
2023-11-24 10:10:36 +01:00 |
|
Éloi Rivard
|
c19199b7a7
|
tests: use lists of strings for Token.scope and AuthorizationCode.scope
|
2023-11-23 22:07:42 +01:00 |
|
Éloi Rivard
|
7494800e57
|
fix: OIDC client 'client_secret_expires_at' claim must be 0, not None
|
2023-11-23 09:15:40 +01:00 |
|
Éloi Rivard
|
79e547fc10
|
refactor: OIDC token scopes are stored as lists
|
2023-11-22 16:36:42 +01:00 |
|
Éloi Rivard
|
fd77bd5637
|
refactor: OIDC authorization codes scopes are stored as lists
|
2023-11-22 16:30:38 +01:00 |
|
Éloi Rivard
|
97546452e9
|
tests: fix user password cardinality
|
2023-11-22 14:49:51 +01:00 |
|
Éloi Rivard
|
fd8a5ace74
|
tests: fix user attribute cardinalities
|
2023-11-22 14:47:48 +01:00 |
|
Éloi Rivard
|
b6cfa1517c
|
refactor: form model attributes coercion
|
2023-11-22 11:30:30 +01:00 |
|
Éloi Rivard
|
e6225671f9
|
tests: additional assertions on invitation tests
|
2023-11-21 18:52:53 +01:00 |
|
Éloi Rivard
|
3a39fc191a
|
refactor: remove models __delattr__ methods
|
2023-11-21 14:57:28 +01:00 |
|
Éloi Rivard
|
8b3802dc3a
|
tests: add tests for fuzzy search on multiple model attributes
|
2023-11-21 14:27:57 +01:00 |
|
Éloi Rivard
|
1fd8af2cf4
|
refactor: models attributes cardinality is closer to SCIM models
|
2023-11-17 21:21:25 +01:00 |
|
Éloi Rivard
|
0569950c47
|
tests: fix end session error message test
|
2023-11-16 17:49:33 +01:00 |
|