При использовании конечной точки, исключенной из аутентификации, не происходит попыток аутентификации запроса независимо от того, был ли отправлен токен или нет. То есть такой подход не работает:
Код: Выделить всё
async def retrieve_user_handler(token: Token, connection: ASGIConnection[Any, Any, Any, Any]) -> User | None:
return DB.get_user(token.sub)
jwt_auth = JWTAuth[User](
retrieve_user_handler=retrieve_user_handler,
token_secret=environ.get("JWT_SECRET", "abcd123"),
)
@get("/some-path", exlude_from_auth=True)
def some_route_handler(request: Request[User, Token, Any]) -> Any:
if request.user:
pass # Set some data based on the user
else:
pass # Set data to a hardcoded value
app = Litestar(
route_handlers=[login_handler, some_route_handler],
on_app_init=[jwt_auth.on_app_init],
)
Подробнее здесь: https://stackoverflow.com/questions/798 ... r-framewor
Мобильная версия