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
'Django' 카테고리의 다른 글
[Django] Custom Exception Handler (0) | 2022.09.29 |
---|---|
[Django] Function Based View 환경에서 Swagger 사용하기 (0) | 2022.04.28 |
[Django API] Django + JWT (0) | 2022.04.26 |
[Django] 500 Internal server error handler (0) | 2022.02.14 |
[Django] Debug=False 설정 시 static 이 깨지는 오류 (0) | 2021.12.27 |