octicon-rss(16/)
You've already forked fastapi-users
mirror of
https://github.com/fastapi-users/fastapi-users.git
synced 2025-11-10 02:05:41 +08:00
64 lines
1.6 KiB
Markdown
64 lines
1.6 KiB
Markdown
# Users router
|
|
|
|
This router provides routes to manage users. Check the [routes usage](../../usage/routes.md) to learn how to use them.
|
|
|
|
## Setup
|
|
|
|
```py
|
|
from fastapi import FastAPI
|
|
from fastapi_users import FastAPIUsers
|
|
|
|
fastapi_users = FastAPIUsers(
|
|
user_db,
|
|
auth_backends,
|
|
User,
|
|
UserCreate,
|
|
UserUpdate,
|
|
UserDB,
|
|
)
|
|
|
|
app = FastAPI()
|
|
app.include_router(
|
|
fastapi_users.get_users_router(),
|
|
prefix="/users",
|
|
tags=["users"],
|
|
)
|
|
```
|
|
|
|
### Optional: user verification
|
|
|
|
You can require the user to be **verified** (i.e. `is_verified` property set to `True`) to access those routes. You have to set the `requires_verification` parameter to `True` on the router instantiation method:
|
|
|
|
```py
|
|
app.include_router(
|
|
fastapi_users.get_users_router(requires_verification=True),
|
|
prefix="/users",
|
|
tags=["users"],
|
|
)
|
|
```
|
|
|
|
## After update
|
|
|
|
You can provide a custom function to be called after a successful update user request. It is called with **three arguments**:
|
|
|
|
* The **user** which was updated.
|
|
* The dictionary containing the updated fields.
|
|
* The original **`Request` object**.
|
|
|
|
It may be useful, for example, if you wish to update your user in a data analytics or customer success platform.
|
|
|
|
You can define it as an `async` or standard method.
|
|
|
|
Example:
|
|
|
|
```py
|
|
def on_after_update(user: UserDB, updated_user_data: Dict[str, Any], request: Request):
|
|
print(f"User {user.id} has been updated with the following data: {updated_user_data}")
|
|
|
|
app.include_router(
|
|
fastapi_users.get_users_router(on_after_update),
|
|
prefix="/users",
|
|
tags=["users"],
|
|
)
|
|
```
|