Commit graph

62 commits

Author SHA1 Message Date
Éloi Rivard
733625e2bc
feat: SQL migrations with flask-alembic 2025-01-10 12:32:18 +01:00
sebastien
0fb3d588b9 adds password expiry policy with a new method on User class 2024-12-19 11:20:26 +01:00
Félix Rohrlich
36c73dd3ef Merge branch '173-intruder-lockout-2' into 'main'
Implement intruder lockout

Closes #173

See merge request yaal/canaille!194
2024-12-16 15:32:21 +00:00
Éloi Rivard
a299bb92ba
feat: basic SCIM server implementation 2024-12-11 17:35:16 +01:00
Félix Rohrlich
80ef1741a7 feat : Added intruder lockout login delay 2024-12-10 14:23:11 +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
0b51b01031
refactor: apply ruff migrations for python 3.10+ 2024-10-28 09:13:00 +01:00
Éloi Rivard
86623f6690
refactor: remove useless de-indexation code in MemoryBackend
de-indexation was already achieved with the previous loop
2024-09-19 17:39:24 +02:00
Éloi Rivard
cfabcc485c
chore: automitaclly fix typos 2024-09-11 09:33:42 +02:00
Éloi Rivard
851b383117
refactor: move listify from MemoryBackend to MemoryBackend 2024-05-03 22:25:21 +02:00
Éloi Rivard
cc9ed335cc
refactor: move MemoryBackend indexation logic into MemoryBackend 2024-05-03 22:25:21 +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
ccde88b1bf
refactor: BackendModel.get() is now Backend.instance 2024-05-03 21:46:28 +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
256566df94
refactor: Model identifier_attributes are fixed. 2024-04-22 20:04:24 +02:00
Éloi Rivard
9c86f5e9af
refactor: Use annotations to mark model attributes 2024-04-21 11:48:39 +02:00
Éloi Rivard
6601abaeb4
refactor: memory model clears its cache when reading a model 2024-04-17 10:51:53 +02:00
Éloi Rivard
d9d5c85b51
refactor: memory backend clears its cache on save() calls 2024-04-12 10:55:24 +02:00
Éloi Rivard
fecfcfa8f3
refactor: factorize Model.__html__ 2024-04-07 20:23:43 +02:00
Éloi Rivard
702eec7aca
fix: MemoryModel.model_attribute type hint 2024-04-07 20:21:30 +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
e339d1169d
refactor: User.has_password factorization 2024-04-07 18:33:43 +02:00
Éloi Rivard
b6c59b3eda
refactor: add some typing to models 2024-04-07 16:39:05 +02:00
Éloi Rivard
1fbb074cc5
refactor: user permissions lazy loading 2024-04-07 15:21:32 +02:00
Éloi Rivard
f113188368
refactor: factorize match_filter in the main User class 2024-04-07 01:25:44 +02:00
Éloi Rivard
fe809161ff
refactor: factorized User.load_permissions 2024-04-06 19:22:47 +02:00
Éloi Rivard
47ef573917
refactor: fix coverage 2024-04-05 15:59:17 +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
18e3f8cde5
refactor: split the base model class in two 2024-04-01 18:55:05 +02:00
Éloi Rivard
0363a0a76e
refactor: remove unused var 2024-04-01 15:02:26 +02:00
Éloi Rivard
89354e281f
refactor: memory backend use __getattribute__ instead of __getattr__ 2024-04-01 15:02:19 +02:00
Éloi Rivard
a795c8460b
refactor: memory model keys are not models anymore 2024-04-01 15:01:53 +02:00
Éloi Rivard
b571818755
refactor: MemoryModel - rename klass in model 2024-04-01 15:01:12 +02:00
Éloi Rivard
fbd0d3029e
refactor: rename User read/write/permissions attributes 2024-04-01 14:59:56 +02:00
Éloi Rivard
48d6065e1c
refactor: memory model variable renaming 2024-04-01 14:59:40 +02:00
Éloi Rivard
006bf08b3d
refactor: improve memory model serialization
do not systematically store every attributes as a list
2024-03-31 12:06:19 +02:00
Éloi Rivard
8834c65bea
refactor: backend memory deserialize method 2024-03-31 01:20:39 +01:00
Éloi Rivard
d2df12236d
refactor: move memory backend methods as classmethods 2024-03-31 01:05:48 +01:00
Éloi Rivard
fa45ef6907
refactor: delete an unused index layer in the memory backend 2024-03-31 00:23:43 +01:00
Éloi Rivard
58b967a43e
refactor: reliably detect the model attribute cardinality 2024-03-30 23:39:09 +01:00
Éloi Rivard
efe3a3c4c4
refactor: assume ACL have default values 2024-03-30 17:21:40 +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