(Spring Security) OAuth2

soosoorim·2024년 5월 10일
0

OAuth2

  • 제 3자 서비스에게 계정 관리를 맡기는 방식
    ex) 네이버 아이디, 카카오톡, Gmail로 로그인하기 등
  • 제 3자 서비스를 통해 OAuth Token을 발급받고 인증을 처리한다.

Naver Login 적용해보기

  1. Naver Token 발급받기 - https://developers.naver.com/apps/#/list

  2. 애플리케이션 이름 : Security-App

  3. 사용 API : 네이버 로그인

  4. 권한
    사용자 이름 : 필수
    연락처 이메일 주소 : 필수

  5. 로그인 오픈 API 서비스 환경
    환경추가 : PC 웹
    서비스 URL : http://localhost:8080
    네이버 로그인 Callback URL : http://localhost:8080/login/oauth2/code/naver

OAuth Dependency 추가

application.properties / application.yml

  • OAuth로 가입/로그인한 회원을 구분하기 위해 MEMBERS Table에 PROVIDER 컬럼 추가

  • MemberVO에 getter / setter 만들어주기.

  • OAuth 로그인 응답을 저장할 인터페이스 생성

  • Spring Security 인증 담당 객체 만들기
  • OAuth 로그인 응답을 저장할 클래스 생성
  • OAuth 로그인 응답을 처리할 클래스 생성
  • MemberDao.java / MemberDaoImpl.java / MemberDaoMapper.xml 추가

<MERGE INTO 쿼리> inline view 반드시 필요 / 오라클 전용 쿼리

  • OAuthLogin 설정 - SecurityConfig.java
  • NaverID로 로그인 버튼 추가하기

Spring Security 에서 /oauth2/authorization/naver로 접근할 경우
자동으로 naver 로그인 페이지로 전환을 시도한다.

Google Login 적용해보기
Spring Security가 지원하는 OAuth2 Provider

  • Google, Facebook, Github, Okta
  • ClientKey와 SecretKey만 설정해주면 나머지 설정은 자동으로 수행된다.
  • 순서에 따라서 설정

후 naver와 같은 방법으로 해준다.

0개의 댓글

관련 채용 정보