Django
[Django] Swagger header에 JWT 추가하기
torimuk
2022. 4. 29. 11:12
Problem
Swagger 에서 모든 요청의 헤더에 JWT 토큰 값을 넣고자 한다.
Solution
해결법은 간단하다. settings.py에 SWAGGER_SETTINGS를 추가하면 된다.
SWAGGER_SETTINGS = {
'SECURITY_DEFINITIONS': {
'Access_Token': {
'type': 'apiKey', # 타입
'name': 'Access-Token', # 이름
'in': 'header', # 어디에 추가할 것인지, 헤더이므로 header
'description': 'Authorization', # 설명
}
},
}
그 다음 Swagger에서 Authorize를 클릭하면 다음과 같이 출력된다.

해당 Value 값에 JWT 토큰 값을 입력하고 Authorize 한 뒤, 테스트를 진행하면 된다.
주의할 점은, Name에 언더바(_)가 들어가면 안된다.
Header에 입력된 언더바는 무시되며, 하이픈은 언더바로 표기된다.
ex) Access_Token -> X
Access-Token -> HTTP_ACCESS_TOKEN