본문 바로가기

웹 프로그래밍/스프링

OAuth2

소셜 로그인

서비스의 회원가입 과정을 진행할 필요 없이, 제 3의 서비스에 등록된 회원정보를 활용하여 서비스에 로그인하는 기능

  • 다른 서비스의 사용자 정보를 안전하게 위임받기 위한 표준
  • 로그인을 대신 해주는 기술이 아님
  • 어떤 서비스에 직접 인증 정보를 주지 않아도 나의 정보를 조회할수 있도록 권한을 위임하는 기술
  • 정보를 조회할수 있는것이지 로그인은 상관없음, 즉 회원가입 처리나 로그인 처리는 비지니스 로직에 맡김

 

 

OAuth2 과정

  1. 사용자가 로그인 필요한 서비스 요청
  2. 사용자가 소셜 로그인 선택하면 Redirect 됨  (ex. 네이버, 카카오톡)
  3. 소셜 로그인 (ex. 네이버 로그인)
  4. 소셜 서비스 제공 화면(ex. 이 애플리케이션에게 정보를 제공하시겠습니까?)
  5. 인증 정보 제공을 선택하면 Access Token 첨부하여 본래의 서비스로 이동 (ex. 확인버튼 클릭, 좀 더 자세히는 프론트에다 리다이렉트를 하고 콜백 url로 코드을 첨부하면 애플리케이션이 토큰을 달라고 요청하고 네이버가 Access Token을 줌) 
  6. Access Token을 이용해 사용자 정보 조회
  7. 접속 요청 사용자의 정보를 바탕으로 기타 인증 처리(회원가입을 시킬지 말지는 선택)

 

 

https://github.com/joshiaLee/Oauth2