Estoy tratando de pasar el encabezado de autorización usando la página de Documentación, similar a esta página:
Dado que las documentaciones se generan automáticamente en Fast API, tengo dificultades para tratar de resolver esto. Seguí esta página https://fastapi.tiangolo.com/tutorial/security/ pero no pude encontrar ninguna información sobre cómo pasar el token del portador. Tenga en cuenta que no estoy buscando validar el token, solo estoy buscando una forma de pasar el token del portador a través de la página de documentación.
¿Alguien puede consultar alguna documentación relevante o con ayuda?
El encabezado de autorización no se puede solicitar mediante Header().
Necesita un Dependiente basado en SecurityBase como HTTPBearer para decirle a Swagger que su punto final API necesita un encabezado de Autorización.
from fastapi.security import HTTPBearer auth_scheme = HTTPBearer() @app.get("/me") async def echo_me(token: HTTPAuthorizationCredentials = Depends(auth_scheme)) ...
Puede escribir una clase hereda HTTPBearer u otra clase de seguridad si desea que la credencial sea opcional.
from fastapi import Depends, HTTPException, Request class OptionalHTTPBearer(HTTPBearer): async def __call__(self, request: Request) -> Optional[str]: from fastapi import status try: r = await super().__call__(request) token = r.credentials except HTTPException as ex: assert ex.status_code == status.HTTP_403_FORBIDDEN, ex token = None return token auth_scheme = OptionalHTTPBearer() @app.get("/test") async def test(token = Depends(auth_scheme)): return dict(token=token)