본문 바로가기

OAuth

(3)
OAuth 2.0 - 생활코딩 강의 정리(3) 생활코딩님의 강의를 듣고 정리하는 글입니다. 제가 임의로 다시 정리한 것이기 때문에 실제 강의와는 조금 다릅니다. API 호출. 클라이언트가 리소스 서버를 사용하기 위해서는 리소스 오너, 리소스 서버의 인증을 받은 후 API를 호출해야 한다. 당연히 서비스를 제공하는 회사마다 API를 제공하는 방법은 다르다. Refresh token. 액세스 토크은 수명이 있다. 그럼 그 수명이 끝나면 API로부터 정보를 받을 수 없다. 그래서 다시 액세스 토큰을 발급해야 하는데 다시 액세스 토큰은 번거로운 일이다. 그럴 때, 쉽게 액세스 토큰을 얻는 방법이 리프레쉬 토큰이다. 보통 액세스 토큰을 발급할 때, 리프레쉬 토큰을 같이 준다. 그리고 액세스 토큰을 사용해 리소스 서버를 사용한다. 그러다 액세스 토큰의 수명이 ..
OAuth 2.0 - 생활코딩 강의 정리(2) 생활코딩님의 강의를 듣고 정리하는 글입니다. 제가 임의로 다시 정리한 것이기 때문에 실제 강의와는 조금 다릅니다. 리소스 오너의 승인. 클라이언트를 리소스 서버에 등록하게 되면 리소스 서버는 해당 클라이언트 id, secret, redirect uri을 갖게 된다. 등록 과정을 마치면 리소스 오너가 리소스 서버에게 클라이언트의 접근을 승인한다는 것을 알려야 한다. 만약 리소스 서버가 A, B, C, D 의 기능을 갖고 있고 클라이언트가 B, C를 사용할 것이라면, 그것에 대한 인증만 받는 것이 좋다. 리소스 오너(유저, 사용자)가 {클라이언트의 기능}을 사용하기 위해 {리소스 서버의 기능}을 사용해야 한다면, 클라이언트는 리소스 오너에게 링크를 건네준다. 이 링크에는 클라이언트 id, 사용할 리소스 서버..
OAuth 2.0 - 생활코딩 강의 정리(1) 생활코딩님의 강의를 듣고 정리하는 글입니다. 제가 임의로 다시 정리한 것이기 때문에 실제 강의와는 조금 다릅니다. OAuth라는 기술은 언제 사용하는 것인가? 먼저 나의 서비스, 그것의 사용자, 그리고 구글과 같은 대형 서비스가 있다고 하자. 대형 서비스는 구글이라고 퉁치자. 나의 서비스는 사용자에게 구글 아이디와 비밀번호를 받고, 나의 서비스는 그것을 갖고 구글에 로그인하여 기능을 제공한다. 이렇게 된다면 사용자의 아이디, 비밀번호가 나의 서비스에게 그대로 전달되는 문제가 생기고, 이것은 구글에게도 문제가 된다. 이런 상황을 해결할 수 있는 기술이 OAuth이다. 나의 서비스와 구글을 연동시키는 것이다. 사용자의 요청에 의해 구글(대형 서비스)은 accessToken이라는 일종의 비밀번호 같은 것을 나..