François Voron
ce15284fe9
Implement a router to associate an OAuth account with an authenticated user
2022-06-20 14:44:25 +02:00
François Voron
64d3996415
Add flag to enable/disable email association with OAuth
2022-06-20 13:46:47 +02:00
schwannden
3bb3728261
add on delete hook ( #1014 )
...
Co-authored-by: Schwannden Kuo <schwannden@mobagel.com >
2022-06-20 13:26:02 +02:00
François Voron
78be936297
Put exceptions in a dedicated module to avoid circular imports
2022-05-06 13:17:22 +02:00
François Voron
72aa68c462
Native model and generic ID ( #971 )
...
* Use a generic Protocol model for User instead of Pydantic
* Remove UserDB Pydantic schema
* Harmonize schema variable naming to avoid confusions
* Revamp OAuth account model management
* Revamp AccessToken DB strategy to adopt generic model approach
* Make ID a generic instead of forcing UUIDs
* Improve generic typing
* Improve Strategy typing
* Tweak base DB typing
* Don't set Pydantic schemas on FastAPIUsers class: pass it directly on router creation
* Add IntegerIdMixin and export related classes
* Start to revamp doc for V10
* Revamp OAuth documentation
* Fix code highlights
* Write the 9.x.x ➡️ 10.x.x migration doc
* Fix pyproject.toml
2022-05-05 14:51:19 +02:00
Richard Friberg
18954cc7bd
Add simple solution to update of oauth with more consistent use of identifiers ( #953 )
2022-04-21 11:06:21 +02:00
François Voron
7f6d038d91
Create a class helper to let configure the password hasher dynamically
2022-03-22 14:16:49 +01:00
François Voron
533504634f
Improve dependencies typing
2022-01-15 11:08:49 +01:00
Ikko Ashimine
4d28d7d6ba
Fix typo in manager.py ( #791 )
...
successfull -> successful
2021-11-07 13:24:51 +01:00
jakemanger
9eb49482c7
Users now become unverified when email is changed ( #783 )
...
* Users now become unverified when email is changed
Occurs when updating user.email to a new value
* changed wording
2021-11-07 10:04:06 +01:00
Yasser Tahiri
872b85de03
Code Expression ( #1 ) ( #767 )
...
* Replace unused `for` index with underscore
* Use `items()` to directly unpack dictionary values
* Merge duplicate blocks in conditional
* Use `any()` instead of for loop
* Format __init__.py
2021-10-16 09:29:34 +02:00
maximka1221
b33371542f
Fixed bug with custom reset token audience.
...
When adding a custom reset token audience, we still use the default one in the creation of the JWT token instead of the custom one.
2021-09-23 12:54:13 +03:00
François Voron
ab06778adf
Fix #733 : don't raise error when updating user with same email
2021-09-20 08:49:19 +02:00
François Voron
69f18cff47
Put user_db_model as attribute of UserManager
2021-09-17 11:24:49 +02:00
François Voron
018771cf73
Add manager docstrings
2021-09-15 16:00:58 +02:00
François Voron
de86456af2
Add some manager tests
2021-09-15 15:20:28 +02:00
François Voron
5cba969679
Refactor verify logic into manager
2021-09-15 14:36:04 +02:00
François Voron
3bdae94869
Refactor OAuth logic into manager
2021-09-15 11:57:17 +02:00
François Voron
9673e0a5fd
Move on_after_update to manager
2021-09-15 09:34:28 +02:00
François Voron
663b7405a7
Move forgot/reset password logic to manager
2021-09-15 09:13:11 +02:00
François Voron
38d4aed817
Move on_after_register to manager
2021-09-14 15:02:17 +02:00
François Voron
8967138375
Inject a user manager dep callable directly to FastAPIUsers
2021-09-14 14:39:59 +02:00
François Voron
480a6bc4df
Move validate_password into UserManager
2021-09-14 14:01:57 +02:00
François Voron
fdc8e54253
Improve generic typing
2021-09-14 11:53:43 +02:00
François Voron
dade8c263d
Revamp implementation with a manager layer and db class as dependency callable
2021-09-14 11:12:34 +02:00