클라이언트 - 서버 애플리케이션을 개발 중이며 사용자가 Google에 로그인 할 수있는 단일 사인온을 제공하려고합니다. 저는 AccountManager를 사용하여 전화로 액세스 토큰을 얻은 다음 토큰을 확인하고 사용자를 로그인하기 위해이 토큰을 서버로 보냄으로써이를 수행 할 계획입니다."권한 요청"대화 상자를 표시하지 않고 AccountManager에서 인증 토큰을 가져올 수 있습니까?
AccountManager에서 getAuthToken 메서드를 호출하면 사용자가 허용해야하는 대화 상자가 표시되지만 Android의 Chrome에서는이 대화 상자가 표시되지 않은 상태에서 로그인하여 Google 계정과 브라우저 데이터를 동기화 할 수 있습니다. 그래서 Chrome은 사용자에게 대화 상자가 표시되지 않고 액세스 토큰을 확보 할 수있는 것처럼 보입니다. 앱에서 동일한 작업을 수행 할 수 있다면 매우 좋을 것입니다.
Android 용 소스 코드와 implementation of getAuthToken을 보면 응용 프로그램이 사전 설치된 응용 프로그램이거나 응용 프로그램 UID가 (Google 계정의) 인증 자의 UID와 동일한 경우 자동으로 액세스 권한이 부여 된 것으로 보입니다.
내 앱과 Chrome은 사전 설치되어 있지 않으므로 두 경우 모두 체크가 거짓입니다. 내 앱은 물론 UID를 Google 계정 인증 프로그램과 공유 할 수 없으며 Google에서 두 버전을 모두 생성 한 이후로 Chrome이 UID를 인증 프로그램과 공유 할 가능성이 있다고 가정합니다. 그렇다면 Chrome에서 대화 상자가 표시되지 않는 이유를 설명합니다.
내가 누락되었을 수있는 액세스 토큰을 요청할 때이 대화 상자가 사용자에게 표시되지 않게하는 다른 방법이 있습니까?