Start a verification request. Triggers the on_after_request_verify handler on success. :param user: The user to verify. :param request: Optional FastAPI request that triggered the operation, defaults to None. :raises UserInactive: The user is inacti
(
self, user: models.UP, request: Request | None = None
)
| 273 | return user |
| 274 | |
| 275 | async def request_verify( |
| 276 | self, user: models.UP, request: Request | None = None |
| 277 | ) -> None: |
| 278 | """ |
| 279 | Start a verification request. |
| 280 | |
| 281 | Triggers the on_after_request_verify handler on success. |
| 282 | |
| 283 | :param user: The user to verify. |
| 284 | :param request: Optional FastAPI request that |
| 285 | triggered the operation, defaults to None. |
| 286 | :raises UserInactive: The user is inactive. |
| 287 | :raises UserAlreadyVerified: The user is already verified. |
| 288 | """ |
| 289 | if not user.is_active: |
| 290 | raise exceptions.UserInactive() |
| 291 | if user.is_verified: |
| 292 | raise exceptions.UserAlreadyVerified() |
| 293 | |
| 294 | token_data = { |
| 295 | "sub": str(user.id), |
| 296 | "email": user.email, |
| 297 | "aud": self.verification_token_audience, |
| 298 | } |
| 299 | token = generate_jwt( |
| 300 | token_data, |
| 301 | self.verification_token_secret, |
| 302 | self.verification_token_lifetime_seconds, |
| 303 | ) |
| 304 | await self.on_after_request_verify(user, token, request) |
| 305 | |
| 306 | async def verify(self, token: str, request: Request | None = None) -> models.UP: |
| 307 | """ |