Oauth

박승현·2023년 12월 10일
0

정보보호

목록 보기
11/11

Oauth

  • 클라이언트가 우리가 만든 서비스, 리소스 오너가 사용자, 리소스 서버는 구글, 카카오등 믿을만한 그런 서버(리소스 오너가 가입되어있음), 어떤 기능을 제공해주는 존재
  • Oauth는 위 3자간의 관계를 정리한것

등록

  • 일단 Client가 Resource server에 등록되어야함(이걸 register라고함, client의 아이디와 비밀번호가 같이 저장)

인증

  • 등록이 끝나면 Resource Owner가 Client에 접속
  • 이때 로그인을 하라고함
    • 위처럼 리소스 오너가 클라이언트에 페이스북,카카오등을 통해 로그인을 하면 클라이언트가 보낸 링크로 리소스오너가 리소스 서버로 접속하는것
    • 그럼 리소스 서버는 그 링크를 받아서 링크에 있는 클라이언트 id이 있는지 확인함
    • 있으면 스콥에 해당하는 기능을 허용할건지 물어봄(리소스 서버가 리소스 오너한테)
  • 위의 과정은 리소스 오너의 허락을 받은것

  • 그리고 리소스 서버의 허락도 받아야함
  • 리소스 서버가 리소스 오너에게 임시 코드를 보냄, 그러면 리소스 오너가 그 코드를 가지고 클라이언트에게 접속, 클라이언트는 그 코드를 받아서 리소스 서버로 접속
  • 리소스 서버가 클라이언트가 접속했을때 클라이언트의 id에 해당하는 임시코드가 일치하는지 확인함
  • 임시코드 : authorization 코드

  • 그 다음단계가 엑세스 토큰을 발급하는 것
  • authorization코드를 지우면서 AccessToken을 리소스 서버가 생성해서 클라이언트에게 보내줌
  • 그 이후엔 클라이언트가 그 토큰으로 접속하면 리소스 서버가 스콥에 해당하는 기능과 유저의 정보를 클라이언트에게 제공하는것
  • 이 기능을 api라고함

  • refresh token
  • 위의 access token은 수명이 있음
  • 수명이 끝나면 api를 제공받지 못함
  • 그때 위의 과정을 처음부터 안하고 다시 access 토큰을 받게 해주는게 refresh token
  • access와 refresh를 보통 같이 발급함, api를 제공받을때 access token을 제출하다 수명이 다하면 refresh token을 리소스 서버에게 제출하면 됨
profile
KMU SW

0개의 댓글