📌 OAuth
- 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준
- 사용자가 애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용할 수 있게 해주는 HTTP 기반의 보안 프로토콜
- 국내에는 대표적으로 네이버와 카카오
카카오 로그인 흐름
회원 가입
public String kakaoLogin(String code, HttpServletResponse response) throws JsonProcessingException {
String accessToken = getToken(code);
KakaoUserInfoDto kakaoUserInfo = getKakaoUserInfo(accessToken);
User kakaoUser = registerKakaoUserIfNeeded(kakaoUserInfo);
String createToken = jwtUtil.createToken(kakaoUser.getUsername(), kakaoUser.getRole());
return createToken;
}