Skip to content

[미니 세미나] OAuth Toss api

Roh HyunUk edited this page Feb 20, 2023 · 2 revisions

OAuth

Open Authorization의 줄인말로 써드 파티 어플리케이션이 user Resouce에 접근할 수 있도록 하는 Standard Protocol입니다.

해당 프로토콜은 7가지 스탭으로 진행됩니다. - 유저가 OAuth 로그인 버튼을 누르면

  1. 우리 서버가 Auth Server로 인증요청 전송(이때 application ClientId를 함께 전송함) + 클라이언트 리다이랙트
  2. 클라이언트가 리다이랙트 당한 Auth Server에 로그인
  3. 로그인한 클라이언트에 Auth Server는 우리 서버가 요청한 정보 제공을 동의 받음.
  4. 유저가 허가를 했다면 Auth Server는 AccessToken을 우리 서버에게 전송.
  5. 해당 AccessToken을 활용해 유저의 정보를 우리 서버가 Auth Server로 요청
  6. AccessToken 검증이후 Auth Server가 유저의 정보를 우리 서버에 제공.
  7. 해당 AccessToken expire될때까지 계속 사용가능.

Toss Api & OAuth 원리

client = C Toss = T Server = S

  1. C --> T 에서 어떤 항목을 얼마에 살지 결재 정보를 넘겨 주어야 합니다. 해당 request 에 관한 응답으로
  2. C <-- T 형태로 리다이렉트를 보냅니다

Success case

  1. C --> S Get 에서 orderId (Customer) , private Key (Toss) 를 보냅니다.
  2. S --> T 로 IsValid? 를 판단합니다.
  3. T --> S 로 성공 응답을 보냅니다.
  4. S --> C 로 리다이렉트를 보냅니다 ( 결재 셩공 )

Failed case

  1. C --> S failed 를 전송합니다.
  2. S --> C 로 실패했을 경우의 url 로 리다이렉트를 보냅니다. ( 결재 실패 )

청사진

image