Add login_return to on_after_login method (#1187)

This commit is contained in:
Téva KRIEF
2023-04-14 16:10:22 +02:00
committed by GitHub
parent bcae3e53ba
commit 4e426d6823
5 changed files with 12 additions and 4 deletions

View File

@ -187,6 +187,7 @@ class UserManager(UUIDIDMixin, BaseUserManager[User, uuid.UUID]):
self,
user: User,
request: Optional[Request] = None,
login_return: Optional[Any] = None,
):
print(f"User {user.id} logged in.")
```

View File

@ -586,7 +586,10 @@ class BaseUserManager(Generic[models.UP, models.ID]):
return # pragma: no cover
async def on_after_login(
self, user: models.UP, request: Optional[Request] = None
self,
user: models.UP,
request: Optional[Request] = None,
login_return: Optional[Any] = None,
) -> None:
"""
Perform logic after user login.
@ -594,7 +597,8 @@ class BaseUserManager(Generic[models.UP, models.ID]):
*You should overload this method to add your own logic.*
:param user: The user that is logging in
:param request: Optional FastAPI request that
:param request: Optional FastAPI request
:param login_return: Optional return of the login
triggered the operation, defaults to None.
"""
return # pragma: no cover

View File

@ -68,7 +68,7 @@ def get_auth_router(
detail=ErrorCode.LOGIN_USER_NOT_VERIFIED,
)
login_return = await backend.login(strategy, user, response)
await user_manager.on_after_login(user, request)
await user_manager.on_after_login(user, request, login_return)
return login_return
logout_responses: OpenAPIResponseType = {

View File

@ -149,7 +149,7 @@ def get_oauth_router(
# Authenticate
login_return = await backend.login(strategy, user, response)
await user_manager.on_after_login(user, request)
await user_manager.on_after_login(user, request, login_return)
return login_return
return router

View File

@ -165,6 +165,9 @@ class TestLogin:
"token_type": "bearer",
}
assert user_manager.on_after_login.called is True
args, kwargs = user_manager.on_after_login.call_args
assert len(args) == 3
assert all(x is not None for x in args)
async def test_inactive_user(
self,