ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [NetWork] OAuth와 JWT의 차이점
    network 2024. 1. 30. 17:50
    728x90
    반응형

    OAuth, JWT

    OAuth(Open Authorization)란?

    • 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준
    • 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용
    • OAuth가 나오기 전까지 기본 인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였으나 OAuth가 나오면서 이렇게 제각각인 인증방식을 표준화함
      OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요 없음. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 됨

    OAuth의 구성 요소

    • Resource Owner(자원 소유자): 유저를 말함
    • Client(클라이언트): 유저의 정보를 필요로 하는 애플리케이션
      (ex: 유저가 로그인하려는 웹 사이트가 클라이언트)
    • Resource Server(자원 서버): 유저의 계정 정보를 가지고 있는 서버
      (ex: '구글 로그인하기' 기능을 사용하는 경우 구글이 자원 서버가 됨)
    • Authorization Server(인증 서버): 유저의 계정 정보에 접근할 권한을 부여하는 서버
      대부분의 경우 자원 서버와 인증 서버는 같은 서버가 맡게 됨
      따라서, '구글 로그인하기' 기능을 사용하는 경우 구글 역시 인증 서버가 됨
    • Redirect URI(리다이렉트 URI): 인증 서버가 인증 결과를 보내는 클라이언트의 주소
      클라이언트가 OAuth 공급자(ex: '구글 로그인하기' 기능을 이용하는 경우에는 구글이 OAuth 공급자가 됨. 유저는 구글을 통해 인증 받고, 구글은 액세스 토큰을 발행하여 클라이언트(웹사이트)에게 제공)에게 이 주소를 제공하면, 사용자가 로그인을 성공하거나 실패한 후 이 주소로 리다이렉트됨
    • Access Token(액세스 토큰): 인증 후 클라이언트가 자원 서버에 접근하기 위해 사용하는 토큰을 말함
      이 토큰을 이용해 클라이언트는 자원 서버로부터 사용자의 정보를 안전하게 요청할 수 있음

    OAuth의 동작 방식

    백엔드에서는 뒤쪽에서 어떻게 처리하고 있을까? - 1 <- 참고1

    백엔드에서는 뒤쪽에서 어떻게 처리하고 있을까? - 2 <- 참고2(좀 더 구체적인 예시와 설명)

    백엔드에서는 뒤쪽에서 어떻게 처리하고 있을까? - 3 <- 참고3

    OAuth와 JWT와 차이점

    차이점이라기 보다는 OAuth의 인증과정에서 JWT는 엑세스 토큰으로 사용될 수 있음
    즉, JWT는 토큰의 한 종류이고 OAuth는 토큰을 발급하고 인증하는 오픈 스탠다드 프로토콜임

    반응형
Designed by Tistory.