다른 프로젝트를 진행하면서 이번에는 깃허브 api를 사용해서 OAuth2 로그인을 구현하게 되었다!
springboot 백엔드 관련해서 github 로그인 과정이 별로 없는 것 같아서 아카이브 당첨! \(@^0^@)/
이번에는 아래 블로그들을 참고해서 구현해보았다아
감샴댜~!~! (꾸벅)
OAuth 라이브러리를 쓸 수도 있었지만 나는 프로젝트 시간 관계상 그냥 RestTemplate으로 다 해결했다.
추후 바꿀까 생각중임...!
참고로 github api는 종류가 무진장 많지만... 뭔가.. 뭔가 많이 불친절해서 구현하는데 애먹었다.... 하핳...
로그인 구현 후 로그아웃 구현한 것도 올릴건데 로그아웃이 진짜....진짜 너무너무 힘들었다ㅜㅜㅜ
암튼 시작!
사전 작업
먼저 프로필을 누르고 github settings에 들어간다
그리고 쭉 내려가서 제일 마지막에 있는 Developer settings를 클릭한다.
그러면 GitHub Apps와 OAuth Apps 두 가지의 옵션이 있는데 나는 GitHub Apps로 선택했다.
오른쪽 상단의 New GitHub App을 선택한댜
그럼 비밀번호를 입력하라고 창이 뜨니까 입력해주고
App 설정 화면창이 뜬다.
나는 아래와 같이 설정해주었다.
스크롤을 내리면 callback URL을 입력해주는 곳이 있다.
여기에는 github가 로그인이 끝난 후 redirect를 해 줄 url을 입력한다.
나는 http://localhost:8000/login/github로 해주었다.
쭉 내리면 github app이 어디에 install 될 수 있냐고 묻는다.
팀 프로젝트용이기 때문에 Any account로 해주었다!
그리고 Create GitHub App 클릭!
그럼 다음과 같은 화면이 뜬댜
Client ID는 부여되었고 우리는 Client Secret key가 필요하다.
Client secrets 옆의 Generate a new clilent secret 버튼을 눌러 secret key를 발급받는다.
발급 받은 아이디와 secret key를 appllication-oauth.properties에 넣어주면 된다.
# github
spring.security.oauth2.client.registration.github.client-id=
spring.security.oauth2.client.registration.github.client-secret=
# local
spring.security.oauth2.client.registration.github.redirect-uri=http://localhost:8000/login/github
그럼 사전작업은 끝!
'Backend > Spring Boot' 카테고리의 다른 글
[OAuth2] 04. GitHub 회원 탈퇴 구현하기(Spring boot) (0) | 2023.10.24 |
---|---|
[OAuth2] 03. GitHub 로그인 구현하기(Spring boot) (2) GitHub API로 token, 사용자 정보 불러오기 (0) | 2023.10.23 |