Éloi Rivard
733625e2bc
feat: SQL migrations with flask-alembic
2025-01-10 12:32:18 +01:00
Félix Rohrlich
e1d70ef8cd
feat : Added sms OTP authentication and multi-factor authentication methods chaining
2024-12-10 11:27:18 +01:00
Félix Rohrlich
b01e8323d8
feat : Added HOTP authentication and CLI Multi-factor authentication reset
2024-12-10 11:27:18 +01:00
Félix Rohrlich
74e0c8d635
feat : Added time one-time password (TOTP) authentication
2024-12-10 11:27:18 +01:00
Éloi Rivard
ac8dc19ff2
tests: fix LDAP email placeholder test
2024-11-20 23:49:12 +01:00
Éloi Rivard
77667c6f52
refactor: all domains used in the unit test suite are now .test
...
this ensures they will never be valid, and will never generate real
world requests
2024-11-20 23:30:48 +01:00
Éloi Rivard
cfabcc485c
chore: automitaclly fix typos
2024-09-11 09:33:42 +02:00
Éloi Rivard
16c3021a8f
refactor: Rename BaseBackend in Backend
2024-05-03 22:25:20 +02:00
Éloi Rivard
473a262ea2
refactor: move BackendModel.reload to Backend.reload
2024-05-03 22:25:20 +02:00
Éloi Rivard
2ccdaeadf6
refactor: move BackendModel.delete to Backend.delete
2024-05-03 22:22:08 +02:00
Éloi Rivard
09588e0f48
refactor: move BackendModel.save to Backend.save
2024-05-03 22:22:06 +02:00
É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
69b565e1ad
refactor: LDAP backend tolerates double deletions
2024-04-28 16:18:36 +02:00
Éloi Rivard
dc89a20b11
chore: configure ruff
2024-04-23 22:12:04 +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
6e26656cc4
tests: move test_model_references_set_unsaved_object to the ldap tests directory
2024-04-12 10:49:56 +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
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
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
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
e8b620588e
refactor: LDAP backend initialization
2023-12-27 10:57:22 +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
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
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
40b868cfee
tests: multiple emails and phone_numbers
2023-10-02 21:58:46 +02:00
Éloi Rivard
553595c5ed
doc: model documentation
2023-08-17 16:11:24 +02:00
Éloi Rivard
588ec8792e
Implement a dummy inmemory backend
2023-08-17 12:33:45 +02:00
Éloi Rivard
39a5eafd71
tests: fix a variable in ldap tests
2023-08-16 16:55:21 +02:00
Éloi Rivard
1f9d148c0d
chore: bump to python-slapd 0.1.4
2023-08-13 16:06:16 +02:00
Éloi Rivard
fd66f86a72
USER_FILTER is parsed with jinja
2023-07-04 18:34:16 +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
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