안드로이드 소셜로그인 질문

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.


개발환경은 안드로이드 앱과 스프링부트 REST API 서버가 있습니다.

디벨로퍼스 앱 ID는 1036925입니다.

현재 앱은 네이티브 앱을 개발하고 있고, 소셜 로그인 방식은 SDK로 로인하는 방식이 아닌 웹뷰 방식으로 백엔드 측에서 로그인절차와 인증과정 유저 정보 db에 저장후 JWT 토큰을 발급해서 앱 클라이언트에게 발급을 해주고 있습니다. 즉 소셜로그인과정을 백엔드에서 처리하고 있는데요,

이때 안드로이드에서는 어떻게 서버로 로그인 요청을 하고, 토큰을 받아와서 저장해야할지 그리고 백엔드에서는 토큰을 발급해주고 안드로이드 앱 화면으로 웹뷰를 종료하고 앱 화면으로 리다이렉트가 가능한지 궁금합니다.

안녕하세요.

로그인 이후 서비스 전반이 웹뷰로 제공되고 있으신가요?

로그인만 웹뷰방식으로 진행하고, 로그인이 성공되면 앱으로 돌아와 네이티브 앱 서비스를 제공 할려고합니다!

안녕하세요.

로그인 만을 웹뷰 사용하는 케이스가 드물긴 합니다만, 그렇게 구현하고자 하실수도 있습니다.

로그인 화면을 언제 표시할 것인지는 서비스에서 결정하시면 되는데요
네이티브 앱에서 이전에 발급 받은 jwt 토근이 유효하지 않다면 로그인 웹뷰를 표시하거나 또는 로그인 버튼을 제공하여 표시하시면 될것 같습니다.

최종적으로 발급된 jwt를 네이티브 앱으로 전달하는 것 또한 구현하신 웹뷰에서 처리하시고 뷰를 닫으시면 될것으로 보입니다.

화면을 표시하는 서비스라는것이 안드로이드 프론트측을 의미하는것이지요??

네, 맞습니다.
서비스측 기호에 따라 처리하시면 됩니다.

서비스에서 로그인화면만을 웹뷰로 구성한다고 하시기에
개인적으로는 로그인 화면이 반드시 웹뷰로 구성될 이유가 없다면 사용안하시는 것을 추천드립니다.

사용자 인증처리 및 토큰 발급까지 로그인 과정을 백엔드에서 처리해서 앱생성할때 플랫폼을 웹으로 해두어서

네이티브앱에서 구성해둔 로그인 버튼을 누르면 웹뷰 방식으로 진행되는것같습니다.

네, 서비스측 필요에 의해 이러한 방식으로 구성하셔도 무관합니다.
앞서 안내드린대로 최종적으로 jwt 발급이 이루어질 때, 이를 웹뷰로 전달하여 앱이 서비스측의 다른 API 사용 시, 활용하시면 됩니다.

답변 정말 감사합니다 고생하세요!