Skip to content

2020.07.15 OAuth 로그인 이해 및 구현

Kong Son Park edited this page Jul 22, 2020 · 1 revision

작성자 : 소니

Github OAuth Login 이해

  • OAuth 인증 전체 흐름을 그림으로 그려서 이해
  • Spring Security 는 버전2에서 적용
    • 버전2에 스터디를 같이하며 적용해도 좋을 것 같다.

Github 로그인 실습

  • 앨런
    • RestTemplate 사용: 동기
  • 보스독
    • WebClient 사용: 비동기
    • 실제 서비스 로그인 처리는 비동기 방식으로 처리하는게 좋을듯
  • 토큰을 쿠키에 저장할지 localStorage에 저장할지 고민

Github OAuth 로그인 Devbie에 적용

  • 5인 페어 프로그래밍 진행 (드라이버: 코일)

  • 로그인 버튼 클릭 시 깃허브 API에서 로그인 화면 요청하는 부분 → 클라이언트? 서버?

    https://github.com/login/oauth/authorize?client_id={$client_id}&scope=user:email
    
    • 서버에서 담당
    • 근거:ClientId, redirect_url 정보를 서버에서 관리하기 때문
  • Github에서 사용자의 정보를 받아올 부분

    • id(고유 식별자), username, email,
      • email 은 비공개로 한 사용자도 있기 때문에 추가 정보 모달로 받을 예정
      • username은 Github API에서 login이라는 이름으로 오는데 DB에 username으로 저장하는 lombok 문법 알아보기
  • AcceccToken으로 사용자 정보 받아오는 부분까지 구현 완료

  • 내일 이어서 구현할 부분

    • 사용자 정보 DB에 저장
    • 자체 Token 생성 후 쿠키에 담아 브라우저에 전달