Éloi Rivard
f56032ec4e
doc: wording
2024-12-22 16:36:37 +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
44c5669d97
doc: prefer 'multi-factor' over 'two-factor' term
2024-12-12 12:04:40 +01:00
Félix Rohrlich
80ef1741a7
feat : Added intruder lockout login delay
2024-12-10 14:23:11 +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
6d48ce9043
feat: Added email OTP authentication
2024-12-10 11:27:18 +01:00
Félix Rohrlich
c8e774ab46
refactor: moved reset-mfa cli function and added documentation and test cases for it
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
0b51b01031
refactor: apply ruff migrations for python 3.10+
2024-10-28 09:13:00 +01:00
Éloi Rivard
b14cc2b5ad
refactor: separate the loading of User permissions
2024-09-18 10:00:58 +02:00
Éloi Rivard
813640fef9
refactor: User.can_read do not call private vars
...
so they get a chance to be loaded if needed
2024-09-17 19:58:07 +02:00
Éloi Rivard
cfabcc485c
chore: automitaclly fix typos
2024-09-11 09:33:42 +02:00
Éloi Rivard
473a262ea2
refactor: move BackendModel.reload to Backend.reload
2024-05-03 22:25:20 +02:00
Éloi Rivard
44573713ed
refactor: move BackendModel.get to Backend.get
2024-05-03 21:54:03 +02:00
Éloi Rivard
dc89a20b11
chore: configure ruff
2024-04-23 22:12:04 +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
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
e317780e1d
fix: infinite recursion due to a typo
2024-04-07 17:43:20 +02:00
Éloi Rivard
ebf790a5bd
doc: add User permissions docstrings
2024-04-07 17:34:19 +02:00
Éloi Rivard
1fbb074cc5
refactor: user permissions lazy loading
2024-04-07 15:21:32 +02:00
Éloi Rivard
fe809161ff
refactor: factorized User.load_permissions
2024-04-06 19:22:47 +02:00
Éloi Rivard
7734ed185e
refactor: the id attribute is attached to the Model class
2024-04-05 16:05:17 +02:00
Éloi Rivard
4344bfacbc
refactor: set default values for models
2024-04-01 18:55:13 +02:00
Éloi Rivard
fbd0d3029e
refactor: rename User read/write/permissions attributes
2024-04-01 14:59:56 +02:00
Éloi Rivard
7418d10efb
refactor: make User and Group directly inherit from Model
2024-03-30 18:48:03 +01:00
Éloi Rivard
ffa12b0f71
feat: created
and last_modified
model attributes
2024-03-27 13:57:38 +01:00
Éloi Rivard
395b6ab4f3
chore: add docformatter pre-commit
2023-12-28 18:31:57 +01:00
Éloi Rivard
c0f0114496
doc: user and group attribute description based on scim specs
2023-12-14 23:08:17 +01:00
Éloi Rivard
67b0669fa8
doc: models types draft
2023-08-23 15:18:43 +02:00
Éloi Rivard
8b98726348
refactor: User.login and User.logout methods moved to app.flask module
2023-08-23 14:56:56 +02:00
Éloi Rivard
553595c5ed
doc: model documentation
2023-08-17 16:11:24 +02:00
Éloi Rivard
fc252acaaa
refactor: user permission sugar
2023-08-14 16:25:12 +02:00
Éloi Rivard
c895366684
refactor: store user profile in g.user
2023-08-13 22:08:28 +02:00
Éloi Rivard
3ecb8b4722
Implements a flask Group converter
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
b5bd497d0e
Implemented User.preferred_email
2023-06-22 15:24:13 +02:00
Éloi Rivard
38ee26db83
refactored User locking mechanism
2023-05-26 17:48:50 +02:00
Éloi Rivard
17c2f7a5cd
Implemented LDAP ppolicy support.
2023-05-26 15:23:43 +02:00
Éloi Rivard
a92542cd81
Moved models specificities in the backend module
2023-05-20 21:24:14 +02:00
Éloi Rivard
6f637b8129
Refactored the unit test backend fixtures
2023-05-20 17:17:46 +02:00
Éloi Rivard
be78b50e97
Removed User.authenticate method
2023-05-17 12:48:14 +02:00
Éloi Rivard
01c1ae4eef
Rename LDAPObject.attrs to state
2023-05-16 15:48:05 +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