dnd-side-project / dnd-5th-10-backend

IT 면접 지식 공유 플랫폼 IT'erview Backend-repo
4 stars 0 forks source link

fix: github 로그인 시 jwt 토큰 발행 못하는 에러 임시 수정 #50

Closed RulLu16 closed 3 years ago

RulLu16 commented 3 years ago

일단 github랑 google이 반환하는 principal이 달라서 발생하는 부분은 수정했습니다.

근데 지금 문제가, github의 oauth2 user가 제공하는 email 정보가 굉장히 제한적이에요.

c

여기서 저기 public email이 등록되어 있지 않으면 이메일을 못가져옵니다.. 로그인 시의 이메일은 못가져오는지 좀 찾아봤는데... 따로 깃허브 측한테 request를 날려야 되는거 같아요. https://stackoverflow.com/questions/35373995/github-user-email-is-null-despite-useremail-scope

이런 요청을 스프링 시큐리티 내에서 어케 보낼지 잘 모르겠어서 일단.. 등록되어 있을 시 로그인 잘 되는 것 확인했습니다.

그리고 jwt 토큰 보낼때 이전에 subject 말고 claim으로 id를 한번 더 넣었는데, 이게 자꾸 github 쪽에서 에러가 나기도 하고, 이미 식별할 이메일 정보를 넣었는데 id를 또 넣을 필요성이 없을거 같아서 일단 제거해봤습니다.

원래 github랑 google이랑 구분은 client 쪽 string으로 구분하는게 가장 좋긴 한데, principal의 google이나 github 스트링을 못가져와서 일단 "id" 여부로 판단합니다..

조금 야매스럽게... 에러를 수정한거 같긴 한데, 아직은 이 방법 말고는 안 떠오르네요..