티스토리 뷰
이번 프로젝트에서는
Github, Google 을 이용한 로그인을 구현하였고, 어떤 방식으로 진행되었는지 적어보려고 한다.
OAuth 2.0 Login
기존에 필자가 알고있는 OAuth 로그인 방식은 아래와 같다
Authorization code를 클라이언트 단으로 리다이렉션 후, 이를 서버에 요청한 뒤
응답으로 Access Tokend을 받는 방식이다.
위의 방식과는 다르게 백엔드 분께서, Spring Security를 사용해보고 싶다하셨고,
이를 사용할 경우 Authorization code를 서버 단으로 으로 리다이렉션 후 Access Token까지 발급한 뒤
이 Access Token을 클라이언트로 리다이렉션 하는 방식으로 진행된다고 말씀하셨다.
새롭게 알게된 방식으로 진행하니, 프론트 단에서는 별도로 Authorization code를 서버로 전송하는 과정이 필요없었고
서버에서 전달해준 링크를 접속하기만 하면, 클라이언트의 home으로 리다이렉션 되는 url에서 Access Token과 Refresh Token
을 받을 수 있었다.
이 후, url에서 access, refresh token을 localstorage에 저장하고, login 상태를 변경해준다.
url에 token이 있는 것이 마음에 걸려, 홈으로 이동시켜 token이 보이지 않게 구현하였다.
참고로 useAuth는 커스텀 Hook으로 생성되어서 로그인 여부를 판단해준다.
hooks/useAuth
출처
https://tansfil.tistory.com/60
https://velog.io/@wnguswn7/Section4-4.-Spring-Security-OAuth2-2
'프로젝트 > 실물(silmul)' 카테고리의 다른 글
react quill - image size 조절 (0) | 2023.05.15 |
---|---|
react query (0) | 2023.05.15 |
Quill editor 내부의 사진 서버로 보내기 (0) | 2023.05.14 |
login 전역상태관리 (0) | 2023.05.12 |
Redux toolkit (0) | 2023.05.10 |
- Total
- Today
- Yesterday
- 프리프로젝트
- Redux
- SEB 43기
- 프로그래머스
- BFS
- 개인 프로젝트
- 브루드포스
- 기술면접
- Python
- 프론트엔드
- React quill
- 감정 일기장
- 감정일기장
- useContext
- dfs
- 백준
- 다이나믹 프로그래밍
- SEB43기
- SEB43
- 회고
- seb
- 프로젝트
- 인적성
- dictionary
- SEB 43
- til
- 스택오버플로우
- 그리디 알고리즘
- 코드스테이츠
- 코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |