인프런 커뮤니티 질문&답변

떠돌이공대생님의 프로필 이미지
떠돌이공대생

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

로그인 #3. 토큰기반인증방식(access토큰, refresh토큰) 개념 ★★★

토큰기반 인증방식에 대해서 질문있습니다

해결된 질문

작성

·

449

·

수정됨

0

안녕하세요, 토큰기반 인증방식에 대한 내용 학습을 하다가 질문이 생겨서 문의드립니다.

교안이나 강의 내용을 보면, stateless를 유지하기 위해서, 기본 서버 이외에 인증 서버를 따로 두어야 하는 것으로 같은데 맞나요??

그냥 하나의 서버에서 인증과 다른 요청 처리를 같이 하더라도, 서버에 인증정보가 관리되는 것이 아니고, 토큰에서 관리가 되기에 인증 서버를 따로 마련하지 않더라도 서버가 stateless하게 관리되는 것 같아서 문의드립니다

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 공대생님 ㅎㅎ

교안이나 강의 내용을 보면, stateless를 유지하기 위해서, 기본 서버 이외에 인증 서버를 따로 두어야 하는 것으로 같은데 맞나요??

>> 네 맞습니다. 만약 서버가 세션을 둔다면 그 서버는 stateless하지 않으며 유저의 상태값을 담기 때문입니다.

그냥 하나의 서버에서 인증과 다른 요청 처리를 같이 하더라도, 서버에 인증정보가 관리되는 것이 아니고, 토큰에서 관리가 되기에 인증 서버를 따로 마련하지 않더라도 서버가 stateless하게 관리되는 것 같아서 문의드립니다

>> 토큰에서 state를 관리하는 것은 맞고 해당 서버가 stateless 한 것 또한 맞습니다. 다만, 추후 확장성을 고려한다면 토큰관련 서버는 따로두는 것이 좋습니다. 예를 들어

서버1

서버2

서버3

서버4

이런식으로 실제 현업에서 많은 서버가 구축되는데 서버4정도는 token기반으로 인증을 처리하는 서버로 두면

서버1, 서버2, 서버3에서 인증이 필요한 요청에 대해 만약 서버 4만을 이용하면 되기 때문에 예를 들어 서버1에다가 토큰 기반 인증로직을 넣었을 때의 종속성을 제거할 수 있습니다.

해당 강의를 보니 헷갈리게 설명한 것같아 설명보완 설명을 넣었습니다.

1 : 18 설명보완 : 토큰기반 인증서버는 state를 처리하는 토큰만으로 인증절차를 수행하기 때문에 stateless합니다. 다만 유저의 상태 state를 관리하는 서버는 따로 두는 것이 좋습니다. 왜냐하면 여러개의 서버를 운용한다라고 했을 때 인증 + 다른 도메인을 처리하는 서버가 있을 경우 해당 도메인에서 에러가 발생이 되면 인증에 관한 모든 기능이 마비가 될 수 있기 때문입니다. 

감사합니다.

궁금증이 해결되었습니다
친절하고 상세한 설명 감사합니다!

떠돌이공대생님의 프로필 이미지
떠돌이공대생

작성한 질문수

질문하기