UX적인 측면을 고려하여 소셜로그인을 프론트에서 처리하고 백엔드에 정보를 넘겨줍니다.
이떄, 회원가입시 저희 앱을 통해 소셜로그인을 완료하여 인증된 사용자인지 확인하는 로직을 위해 프론트엔드에서 공유키로 암호화하여 헤더에 담아 백엔드로 보내면 백엔드에서 복호화하여 서명을 인증하고 임시토큰(저희 앱에서 발급)을 발급하여 회원가입에 필요한 추가정보를 입력합니다.
하지만, 공유키가 탈취되면 인증로직이 무용해지기 때문에 보안성 이슈가 발생한다고 생각합니다.
그래서 회원가입시에 프론트엔드에서 카카오 소셜로그인서버에서 발급한 access token을 헤더에 담아 서버로 보내주면 서버에서 카카오소셜로그인 서버에 사용자 정보를 확인하고 임시토큰을 발급하는 형식을 고려중에 있습니다. 다만, 이런식의 아키텍처는 카카오 액세스 토큰 탈취에 대한 우려 등이 있어 이를 통해 공격자가 다른 권한 있는 작업을 수행할수도 있겠다는 생각이 듭니다.
소셜로그인 로직을 프론트에서 처리하고 백엔드에 필요 정보를 넘겨주는 아키텍처에서는 어떻게 구현해야하나 문의 드립니다.