É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