Каковы предпочтительные шаблоны или рекомендации для конечных точек с дополнительной аутентификацией с помощью платформыPython

Программы на Python
Ответить
Anonymous
 Каковы предпочтительные шаблоны или рекомендации для конечных точек с дополнительной аутентификацией с помощью платформы

Сообщение Anonymous »

Я пытаюсь определить конечные точки в приложении Litestar, в которых аутентификация не является обязательной, но я не понимаю, как это можно сделать с помощью механизма безопасности JWTAuth.
При использовании конечной точки, исключенной из аутентификации, не происходит попыток аутентификации запроса независимо от того, был ли отправлен токен или нет. То есть такой подход не работает:

Код: Выделить всё

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],
)
Можно ли внести небольшое расширение или модификацию конфигурации JWTAuth, чтобы включить дополнительную аутентификацию, или для этого потребуется определить специальную зависимость или промежуточное программное обеспечение?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ptional-au
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»