Token-Based Authentication

이정훈·2024년 6월 14일
0

API

목록 보기
7/8

Token-Based Authentication이란?

토큰을 기반으로 한 인증을 말합니다.
토큰은 인증을 하기 위해 사용자에 대한 정보를 담고 있습니다.
사용자는 해당 토큰을 소유하고 이를 통해 인증이 가능합니다.
JWT을 이용한 인증 방식도 Token-Based Authentication의 한 종류입니다.

Token-Based Authentication의 유형

  1. Connected
    키나 디스크, 드라이브 같은 물리적 기계를 시스템에 연결함으로써 인증을 받고 리소스에 접근하는 방식입니다.
  1. Contactless
    시스템에 직접적으로 연결하지는 않고 일정 범위 내에 있으면 인증이 되는 것입니다.
    좀 더 간단한 예시로 보안 카드를 통해 특정 구역에 출입하는 것입니다.

  2. Disconnected
    시스템에 인증하는데 어떤 물리적인 물건을 연결하거나 주변에 둘 필요가 없습니다.
    핸드폰으로 원격으로 출입문을 통제한느 것이 예시입니다.

Token Authentication의 작동 방식

  1. 요청
    사용자는 서버에게 특정 리소스에 대한 접근을 요청합니다. 이 과정에서 로그인이나 다른 절차를 통과해야 합니다.

  2. 검증
    서버는 사용자가 요청하면서 보낸 로그인 정보를 이용해 사용자가 해당 리소스에 접근할 권한이 있는지 확인합니다.

  3. 토큰
    검증 이후 서버는 토큰을 사용자에게 발행합니다.

  4. 저장
    사용자에게 토큰이 저장됩니다.

위 과정에서 토큰을 발급 받은 이후에는 로그인을 다시 할 필요가 없이 토큰만으로도 리소스에 대한 접근이 가능합니다.

아래 그림은 Token-Based Authentication 과정을 나타낸 것입니다.

Authenticaion Token의 장점

  1. 토큰을 통해 사용자 경험을 개선 가능합니다. 사용자가 매 요청마다 인증 절차를 밟는 것은 매우 귀찮은 일입니다. 토큰은 이를 도와줍니다.

  2. 토큰을 통해 세밀한 접근 제어가 가능합니다. 이는 토큰에 사용자의 권한을 명시함으로써 따로 유저의 권한에 대해 검증할 필요없이 접근 제어를 가능하게 만듭니다.

  3. 하드웨어를 사용함으로써 보안을 강화할 수 있습니다.

Authentication Token이 가져야할 주요 기능

  1. Private
    다른 사람과 공유가 되지 말아야 합니다.

  2. Secure
    암호화를 통해 내용이 안전하게 보호되어야 합니다.

  3. Tested
    테스트를 통해 안전하다는 것을 보장해야 합니다.

  4. Appropriate
    적절한 토큰 방식을 선택해야 합니다.

profile
기록으로 흔적을 남깁니다.

0개의 댓글

관련 채용 정보