본문 바로가기
디프만 11기

백엔드 - 프론트엔드 OAuth2.0 고민 해결!

by 의정부핵꿀밤 2022. 4. 10.
728x90


지금 카카오 oauth를 개발하던 도중 회의에서 이런 얘기가 나왔다
‘프론트에서도 oauth 로그인이 가능할 것 같은데 백에서 할지 프론트에서 할지 정해야할 것 같아요!’
솔직히 난 oauth를 구현해보는 것도 처음이고 아직 개념도 뚜렷하게 잡히지 않은 상태여서 프론트에서 해주면 백엔드는 땡큐인건가..? 하고 고민하고 있었다 그래서 투스카이와 상의 끝에 바아로 대장님께 자문을 구했따
그리고 바아로 결론 나버림
결론 : 토큰 뻇기고 시펑? 사용자 정보 해킹당하고 시펑?!

오늘 새벽 게더시간에 배운 내용을 정리해보자면 다음과 같다
프론트에서도 oauth가 가능하긴 하지만 이는 서버리스 상태에서 테스트용으로 사용하는거고 실 서비스에서 프론트가 로그인을 담당한다? 바로 나락간다~
그리고 여기서 인증과 인가의 차이가 적용된다고 하셨다
쉽게 말하면 인증은 요청, 인가는 권한 부여인데 요청은 kakao api 호출해서 찌르는거고 권한부여는 토큰으로 db랑 비교해서 로그인 여부 결정을 해주는 것이다
근데 인가를 프론트에서 한다? 서버에는 로그인 기록이 남지않을 뿐더러 프->백으로 사용자 정보를 넘겨주면 탈취 가능성이 있다고 하셨따!

> 해결방안
1. 프론트에서는 인증 요청을 하고 카카오로부터 받은 코드를 백에 넘겨준다
2. 그럼 백에서는 받은 코드를 기반으로 카카오에 요청을 해서 토큰과 사용자 정보를 받아온다
3. 해당 response를 기반으로 db 값과 비교하여 인가 과정을 거치고 다시 프론트한테 200 상태코드를 전송해준다!

대쟝님과 얘기만 했을 뿐인데 바아로 해결됐다…. 디프만 뽕 넘쳐 흐르자나,,
그외에도 다양한 얘기를 들으면서 디프만 뽕 엄청 차올랐따
아니 내가 진짜 디프만이라고..? 아직도 안믿겨
디프만 활동으로 엄청난 성장을 이룰 것 같은 자신감이 생겨버려~!~!
암튼 그냥 이 내용이 엄청 도움이 되어서 기록하고 싶었다
이제 자고 내일 aws 교육받으러 구디역 가야지,,, 자자,,,
빠잉!


728x90

댓글