티스토리 뷰
이전에 인증과 인가에 대한 글을 작성한 적이 있다.
근데 이와 관련해 TMI이면서 추가적인 내용을 작성해놓고 싶어 이 글을 적는다.
이전 인증/인가 글을 적으면서 인증(Authentication
)과 인가(Authorization
)에 대한 개념은 정립했었다.
근데 여러 공식문서를 읽다보니 Authentication
, Authorization
대신 AuthN
, AuthZ
가 많이 사용되고 있었다.
처음엔 이게 뭐지... 했는데 사실 별거 아니였다. 단어가 그냥 길어서 축약해서 사용하는건데, 아래처럼 이해하면 된다.
- Authe
n
tication -AuthN
- Authori
z
ation -AuthZ
인증/인가 API를 구현하면서 인증/인가에 실패했을 경우, Http status를 어떻게 반환할까 고민을 했던 적이 있다.
많이들 아래처럼 구현한다.
- 인증(
AuthN
) 실패 시: 401 (Unauthorized
) - 인가(
AuthZ
) 실패 시: 403 (Forbidden
)
근데 좀 이상하지 않은가?
인증이 실패한 경우가 왜 Unauthorized
인 것일까? Unauthenticated
여야하지 않은가? 즉, 인증에 실패했을 때는 401을 사용하면 안되는거 아닌가? 하는 생각이 들었다.
찾아보니 이와 관련해 비슷한 의견들이 있었고, 결론적으로 다수의 의견은 그냥 이름을 잘못지은 것이라는 것이다.
이름때매 혼동이 되긴 하지만 MDN 문서에서도 Http status(401, 403)에 어떤 경우에 사용하는 것인지 정확한 설명을 하고 있고, 대부분의 경우 위와 같이 구현하고 있어 그대로 구현하기로 했다.
320x100
반응형
'Development' 카테고리의 다른 글
git revert에 대해 (1) | 2023.04.16 |
---|---|
Javascript에서의 물음표(?) 사용 (0) | 2023.02.23 |
Pagination(Paging), offset을 사용하지 맙시다 (2) | 2022.06.12 |
echo와 base64 인코딩 : Kubernetes Secret (1) | 2022.06.10 |
Amazon Linux jdk 17 설치방법 (0) | 2022.01.19 |
댓글
반응형
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Algorithm
- 로그
- python
- 알고리즘
- tag
- 백준
- 하루
- boj
- c++
- Spring
- Kubernetes
- container
- HTTP
- Intellij
- WebFlux
- gradle
- docker
- Spring boot
- 일상
- 쿠버네티스
- 클린 아키텍처
- 비동기
- jasync
- Istio
- MySQL
- java
- Clean Architecture
- k8s
- hexagonal architecture
- Log
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함