마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

구글 로그인 revoke 질문

0 추천

revokeaccess후 gsa가 null이어야 하는데 adv에서는 있다고 인식하여 구글 api가 연동되는데 뭐가 문제일까요?

 

일단 main에서 signinIntent를 받고 second activity로 넘어가는건데 로그인이 되어있으면 second로 바로넘어갑니다.

 

GoogleSignIn.getLastSignedInAccount

 

main에서는 탈퇴후에 처음부터 실행시 인식을 안하는데 second에서는 연동되어 있네요

enerigpy (2,110 포인트) 님이 2023년 3월 9일 질문
enerigpy님이 2023년 3월 9일 수정

1개의 답변

0 추천
 
채택된 답변
제가 해당 질문에 대한 지식이 별로 없어서 chatGPT에서 대신 질문을 해봤더니, 아래와 같이 답을 해주네요.

"revokeaccess" 함수를 사용하여 사용자의 액세스 토큰을 취소하면, 해당 토큰으로 인증된 사용자의 Google 계정에 대한 액세스 권한이 제거됩니다. 이후 "GoogleSignIn.getLastSignedInAccount" 함수를 사용하여 마지막으로 로그인된 계정을 가져오려고 시도하면 null을 반환해야 합니다.

그러나 문제가 발생할 수 있는 경우도 있습니다. 예를 들어, "GoogleSignIn.getLastSignedInAccount" 함수는 사용자가 앱에 대한 액세스 권한을 부여한 이후에만 작동합니다. 이 함수를 호출하려면 사용자가 앱에 로그인하고 권한을 부여한 후에만 호출해야 합니다. 또한, revokeaccess 함수 호출 후에 바로 getLastSignedInAccount 함수를 호출하는 경우, 서버와의 동기화 문제로 null을 반환하지 못할 수도 있습니다.

따라서, revokeaccess 함수를 호출한 후에 getLastSignedInAccount 함수를 호출하기 전에, 일정 시간의 딜레이를 주어 서버와 동기화되도록 해야 합니다. 또한, 두 함수를 호출하기 전에 사용자가 앱에 로그인하고 권한을 부여했는지 확인해야 합니다. 이를 위해서는 onStart() 메소드에서 GoogleSignInAccount 객체를 가져오는 코드를 작성하고, 이 객체가 null이 아닌지 확인해야 합니다.

참고하시거나, 직접 질문을 해보셔도 좋을 것 같네요.
spark (227,470 포인트) 님이 2023년 3월 13일 답변
enerigpy님이 2023년 3월 13일 채택됨
...