2024-01-30 20:16:50

jwt 토큰 등은 Authorization 요청 헤더에 담아서 서버에 제공되곤 합니다. 오늘은 FastAPI에서 헤더에 어떤 데이터가 담겨서 요청될 때 FastAPI에서 그 값을 얻는 방법에 대해 살펴보도록 하겠습니다. 예시 코드는 다음과 같습니다. fastapi의 Request 객체를 활용하면 쉽게 요청의 헤더에 담겨있는 데이터를 얻을 수 있습니다.

 

from fastapi import FastAPI, Request


@app.get("/ping")
async def ping_route(request: Request):
    my_header = request.headers.get('header-name')

 

 

만약 Authorization 요청 헤더에 담겨서 온 데이터를 추출하고자 한다면 header-name에 Authorization을 넣어주면 됩니다. 

 

참고자료

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization  

[2] https://stackoverflow.com/questions/68231936/how-can-i-get-headers-or-a-specific-header-from-my-backend-api