Commit graph

160 commits

Author SHA1 Message Date
Éloi Rivard
95882c737b
fix: LDAP backend connection error display 2023-12-25 13:56:57 +01:00
Éloi Rivard
d4712b7971
refactor: backend cleanups 2023-12-25 13:22:43 +01:00
Éloi Rivard
3255eaa31c
fix: a crash when no ACL was defined 2023-12-15 10:50:53 +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
d9dbd8ad0e
fix: crash when LDAP groups are refering to unexisting users 2023-11-28 09:37:37 +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
8c2814c852
refactor: Backend.session can take parameters 2023-11-24 12:43:40 +01:00
Éloi Rivard
02c8f0b177
refactor: Backend.install calls uniformization 2023-11-24 11:13:17 +01:00
Éloi Rivard
1e9c77ad6d
refactor: compare models in memory backend user.load_permissions 2023-11-22 12:20:53 +01:00
Éloi Rivard
b6cfa1517c
refactor: form model attributes coercion 2023-11-22 11:30:30 +01:00
Éloi Rivard
bc56105b28
fix: remove useless print 2023-11-21 17:59:11 +01:00
Éloi Rivard
3a39fc191a
refactor: remove models __delattr__ methods 2023-11-21 14:57:28 +01:00
Éloi Rivard
1fd8af2cf4
refactor: models attributes cardinality is closer to SCIM models 2023-11-17 21:21:25 +01:00
Éloi Rivard
0ee374dea7
tests: back to 100% coverage 2023-11-16 18:06:23 +01:00
Éloi Rivard
0574460fe6
fix: when LDAP servers are down, rendering error pages would raise an exception 2023-10-02 14:06:06 +02:00
Éloi Rivard
f5083d0b15
fix: unique type in token memory model 2023-09-18 23:55:46 +02:00
Éloi Rivard
a2e3fce204
feat: flask-babel and pytz are now part of the front extras 2023-09-01 10:46:56 +02:00
Éloi Rivard
77cccc3a10
doc: better model inheritance to generate a clearer documentation 2023-08-23 16:41:41 +02:00
Éloi Rivard
553595c5ed
doc: model documentation 2023-08-17 16:11:24 +02:00
Éloi Rivard
96ccf12ad9
feat: split installation in different extras packages 2023-08-17 14:34:30 +02:00
Éloi Rivard
588ec8792e
Implement a dummy inmemory backend 2023-08-17 12:33:45 +02:00
Éloi Rivard
191791ac72
fix: import render_template from flask_themer instead of flask 2023-08-14 15:45:25 +02:00
Éloi Rivard
c895366684
refactor: store user profile in g.user 2023-08-13 22:08:28 +02:00
Éloi Rivard
54abdaea3b Dynamic model registration 2023-07-12 12:34:00 +02:00
Éloi Rivard
5163b11b9a Updated DEFAULT_USER_FILTER 2023-07-04 19:18:09 +02:00
Éloi Rivard
fd66f86a72 USER_FILTER is parsed with jinja 2023-07-04 18:34:16 +02:00
Éloi Rivard
4f42798e39 Refactored keypair management 2023-07-01 19:06:26 +02:00
Éloi Rivard
52482ca19c Implements flask OIDC converters 2023-06-29 15:55:39 +02:00
Éloi Rivard
7bce9b9a74 ldap backend: make sure to escape special chars in object identifiers 2023-06-29 15:55:39 +02:00
Éloi Rivard
3ecb8b4722 Implements a flask Group converter 2023-06-29 15:55:39 +02:00
Éloi Rivard
f504bb3a66 Implements a flask User converter 2023-06-29 15:55:39 +02:00
Éloi Rivard
e4e49da44a Renamed configuration entries
- USER_ID_ATTRIBUTE is now USER_RDN
- GROUP_ID_ATTRIBUTE is now GROUP_RDN
2023-06-29 15:55:39 +02:00
Éloi Rivard
57af18d557 Use a unique identifier to indentify users in URLS
Previously we used the uid since we supposed this value was always
valid, but some users user the mail attribute as the User RDN in their
OpenLDAP installation, and do not have a uuid.
2023-06-29 15:55:39 +02:00
Éloi Rivard
361fda0386 Renamed User.phone_number in User.phone_numbers 2023-06-22 15:33:03 +02:00
Éloi Rivard
371f806695 Renamed User.email in User.emails 2023-06-22 15:15:46 +02:00
Éloi Rivard
14ec6e9c9e ldap backend avoid to store empty values 2023-06-22 13:27:43 +02:00
Éloi Rivard
d65dbfbe96 listify utility 2023-06-22 13:09:44 +02:00
Éloi Rivard
caf434a1fc debug template variable is available everywhere 2023-06-20 14:22:19 +02:00
Éloi Rivard
23e9e7e71a Renamed Backend in BaseBackend 2023-06-05 18:10:37 +02:00
Éloi Rivard
e5ba0a8c86 compatibility bugfix for flask 2.3 2023-06-03 13:42:23 +02:00
Éloi Rivard
17c2f7a5cd Implemented LDAP ppolicy support. 2023-05-26 15:23:43 +02:00
Éloi Rivard
d8158d6a72 Use ruff linter 2023-05-25 13:37:58 +02:00
Éloi Rivard
77d3a1a656 Do not event attempt to add oauth schema if present 2023-05-24 16:59:36 +02:00
Éloi Rivard
a92542cd81 Moved models specificities in the backend module 2023-05-20 21:24:14 +02:00
Éloi Rivard
c75108344b Moved login placeholder mechanism in the backend module 2023-05-20 20:07:40 +02:00
Éloi Rivard
033d436878 Moved LDAP schema installation in the ldap backend module 2023-05-20 20:04:23 +02:00
Éloi Rivard
c1d1706007 Moved every model import to canaille.models 2023-05-20 20:02:00 +02:00
Éloi Rivard
e110c4851b Backend singleton logic moved to backend.Backend 2023-05-20 18:39:49 +02:00
Éloi Rivard
6f637b8129 Refactored the unit test backend fixtures 2023-05-20 17:17:46 +02:00
Éloi Rivard
30282e633b The LDAP Backend is now a class 2023-05-20 12:08:04 +02:00
Éloi Rivard
4f9dac8782 Tests the model mechanism 2023-05-17 18:19:05 +02:00
Éloi Rivard
28e7d1c662 LDAPObject __getattr__ filters None values 2023-05-16 16:05:09 +02:00
Éloi Rivard
01c1ae4eef Rename LDAPObject.attrs to state 2023-05-16 15:48:05 +02:00
Éloi Rivard
c09b2b5321 Implemented LDAPObject __delattr__ 2023-05-11 23:34:10 +02:00
Éloi Rivard
ca1ea9ca92 Removed unused code 2023-05-11 23:29:34 +02:00
Éloi Rivard
9480e43ad9 Removed LDAPObject __getitem__ and __setitem__ methods 2023-05-11 23:08:39 +02:00
Éloi Rivard
df60821e29 Rename LDAPObject.attribute_table to attributes 2023-05-11 16:55:33 +02:00
Éloi Rivard
e8e6060c74 ACL group filter can be simple group name instead of full dn 2023-05-02 16:25:00 +02:00
Éloi Rivard
fa62c16768 Moved canaille.ldap_backend to canaille.backends.ldap 2023-04-18 20:22:55 +02:00