소셜 로그인
서비스의 회원가입 과정을 진행할 필요 없이, 제 3의 서비스에 등록된 회원정보를 활용하여 서비스에 로그인하는 기능
- 다른 서비스의 사용자 정보를 안전하게 위임받기 위한 표준
- 로그인을 대신 해주는 기술이 아님
- 어떤 서비스에 직접 인증 정보를 주지 않아도 나의 정보를 조회할수 있도록 권한을 위임하는 기술
- 정보를 조회할수 있는것이지 로그인은 상관없음, 즉 회원가입 처리나 로그인 처리는 비지니스 로직에 맡김
OAuth2 과정
- 사용자가 로그인 필요한 서비스 요청
- 사용자가 소셜 로그인 선택하면 Redirect 됨 (ex. 네이버, 카카오톡)
- 소셜 로그인 (ex. 네이버 로그인)
- 소셜 서비스 제공 화면(ex. 이 애플리케이션에게 정보를 제공하시겠습니까?)
- 인증 정보 제공을 선택하면 Access Token 첨부하여 본래의 서비스로 이동 (ex. 확인버튼 클릭, 좀 더 자세히는 프론트에다 리다이렉트를 하고 콜백 url로 코드을 첨부하면 애플리케이션이 토큰을 달라고 요청하고 네이버가 Access Token을 줌)
- Access Token을 이용해 사용자 정보 조회
- 접속 요청 사용자의 정보를 바탕으로 기타 인증 처리(회원가입을 시킬지 말지는 선택)
https://github.com/joshiaLee/Oauth2
'웹 프로그래밍 > 스프링' 카테고리의 다른 글
스프링 시큐리티에서 Redis로 jwt 액세스 토큰, 리프레쉬 토큰 구현 (2) | 2024.04.12 |
---|---|
스프링 시큐리티에서 뷰(View)에 대한 접근 설정 (0) | 2024.04.09 |
JWT (0) | 2024.02.13 |
REST (0) | 2024.01.18 |
스프링 예외 처리 (0) | 2023.06.06 |