OAuth2

OAuth2 (Open Authorization, Open Authentication 2) 인증을 위한 표준 프로토콜 Authorization Server를 통해 회원 정보를 인증하고 Access Token을 발급을 받아 Access Token을 이용해 타사의 API 서비스를 사용이 가능하게 만들어 주는 기능이다. 다른 블로그에서 좋은 페이스북 예제가 있어서 가지고 와보왔다 1. 사용자(Resource Owner)가 서버에게 로그인을 요청합니다. 2. 서버는 사용자에게 특정 쿼리들을 붙인 페이스북 로그인 URL을 사용자에게 보냅니다. 3. 사용자는 해당 URL로 접근하여 로그인을 진행한 후 권한증서(code)를 담아 서버에게 보냅니다. 4. 서버는 해당 권한 증서를 Facebook의 Authorization Server로 요청합니다. 5. 서버는 권한 증서를 확인 후, Access Token, Refresh Token, 유저의 정보(고유 id 포함) 등을 돌려줍니다. 6. 받은 고유 id를 key값으로 해서 DB에 유저가 있다면 로그인, 없다면 회원가입을 진행합니다. 7. 로그인이 완료되었다면 세션/쿠키 , 토큰기반 인증 방식을 통해 사용자의 인증을 처리합니다. 여기서 OAuth와 OAuth2의 달라진 점은 기능의 단순화, 기능과 규모의 확장성 등을 지원하기 위해 만들어 졌다 1.0a는 만들어진 다음 표준이 된 반면 2.0은 처음부터 표준 프로세스로 만들어짐. https가 필수여서 간단해 졌다. 암호화는 https에 맡김. 1.0a는 인증방식이 한가지였지만 2는 다양한 인증방식을 지원한다. api서버에서 인증서버를 분리 할 수 있도록 해 놓았다. 라고한다. 참고로 찾아본 곳 https://oauth.net/2/ https://tansfil.tistory.com/60