2013-02-01 4 views
1

OAuth2를 사용하여 Google 계정으로 사용자에 로그인하는 웹 응용 프로그램을 개발 중입니다. 일부 Google Google API에 액세스하기 때문에 새로 고침 토큰과 오프라인 액세스도 요청합니다 (차이가 나는 경우).OAuth2.0을 사용하여 로그인 한 Google 계정 사용자를 확인하십시오.

내 문제는 다음과 같습니다. 앱의 사용자가 처음 로그인 한 후 OAuth와 토큰/사용자 ID를 데이터베이스에 저장 한 후 이후 방문시 사용자를 식별하는 시스템이 있어야합니다.

Google 사용자 ID ('userinfo'엔드 포인트에 대한 호출로 얻음)를 세션 변수에 저장하면됩니다. 사용자가 Google 계정에서 로그 아웃하고 다른 계정 (Google 앱이 아니라 Google에 로그인)에 로그인 할 때까지는 정상적으로 작동합니다. 이 시점에서 내 앱에 더 이상 올바른 로그인 사용자가 없으며 적절한 사용자에게 속하지 않은 데이터를 표시 할 수 있습니다.

로그인 한 Google 계정 사용자를 효율적으로 식별 할 수있는 사람이 누구인지 알고 있습니까?

나는 항상 userinfo 엔드 포인트를 호출 할 수 있다고 가정하지만, 내 애플리케이션의 모든 페이지에서이 작업을 수행하면 과도한 것처럼 보이고 더 효율적인 접근 방식을 원합니다.

저는 PHP로 프로그래밍 중이며 개발을 위해 'google-api-php-client'라이브러리를 사용하고 있습니다.

도움을 주셔서 감사합니다.

답변

2

네 말이 맞아. 현재이 작업을 수행하는 가장 효율적인 방법은 userinfo 엔드 포인트를 조회하는 것입니다.

그러나 UI에 따라 ID를 변경하는 옵션을 사용하는 것이 좋은 방법입니다. "당신 아닌가요?"와 같은 작은 링크. 로그인 한 버튼은 옵션입니다. 사용자가 다른 계정을 선택하게하는 완전히 새로운 API가 있습니다. 이 답변보기 : Force google account chooser

이 웹 사이트를 더 원활하고 효율적으로 만들려고하지만 지금은 더 이상 발표 할 사항이 없습니다.

+0

해답을 제공해 주셔서 감사합니다. 나는 '당신이 아니야?' 링크 (중요한 사용자 정보가 포함되지 않은 페이지의 경우) 및 'userinfo'엔드 포인트 (올바른 사용자가 있는지 확인하려는 페이지의 경우)에 대한 호출은 내 응용 프로그램에서 올바르게 작동합니다. – dszc