2013-05-08 3 views
1

Android 앱에서 Google Plus 로그인을 시도 중입니다 (백엔드 지원).Android 앱 내 Google Plus 인증

사용자로부터 액세스 토큰 및 전자 메일을받을 수는 있지만 서버에서이 사용자를 어떻게 인식해야하는지 모르겠습니다. 나는 이것을 POST를 통한 서버 (이메일 및 oauth 토큰)로 보냅니다. SSL

물론 전자 메일로 인식 할 수 있지만, 데이터베이스에있는 다른 전자 메일을 어떻게 알 수 있는지 모두에게 알릴 수 있습니다.

사용자가 올바르게 인증되었고이 이메일에 올바른 oauth 토큰을 보낸 것을 어떻게 확인할 수 있습니까?

감사합니다.

+0

사용자가 클릭에서 살펴 봐야 할 수 있습니다, 인증 및 앱 토큰을 가져옵니다. 이 토큰을 사용하여 데이터를 가져올 수 있습니까? 이메일 ID는 어디에서 사용해야합니까? 사용자 계정을 로컬로 유지하고 있습니까? – divyanshm

+0

Javier Manzano, 사용자를 인증하는 데 사용한 코드를 게시 해주십시오. – Manikandan

답변

2

두 가지 생각 :

1) 당신이 그것을 도울 수 있다면 일반적으로, 당신은 와이어를 통해 인증 토큰을 전송 할 수 없습니다. 대신 클라이언트가 인증 할 때 일회성 코드를 얻고이 한 시간 코드를 전달하는 하이브리드 흐름을 사용해야하며 인증 토큰 및 새로 고침 토큰에이 코드를 사용할 수 있습니다. 이 방법을 사용하면 서버가 사용자를 대신하여 오프라인으로 액세스 할 수도 있습니다. 자세한 내용은 https://developers.google.com/+/web/signin/server-side-flow을 참조하십시오. 그러나, 나는 이것이 안드로이드 라이브러리와 어떻게 작동하는지 완전히 모르겠습니다.

2) (1)에 관계없이 일반적으로 할 수있는 일은 userID가 "me"인 서버에서 plus.people.get 메소드를 사용하여 사용자의 userID를 얻고 자신이 무엇인지 확인하는 것입니다 기대하고있다. 자세한 내용은 https://developers.google.com/+/api/latest/people/get을 참조하십시오.

1

귀하의 경우 인증 코드 흐름을 사용하는 것이 가장 좋습니다.

이 부분은 link을 참조하십시오. 그것은 당신이보고 싶어 할 수도있는 워크 플로우 다이어그램을 가지고 있습니다. 귀하의 경우 사용자는 토큰이 아닌 인증 코드를 인증 받아야합니다.

그런 다음 인증 코드를 서버로 보내면이 코드를 액세스 + 새로 고침 토큰으로 교환 할 수 있습니다. 클라이언트를 범위에 대해 등록하고 클라이언트 자격 증명을 갖도록하십시오.

일반적으로 요청을 사용자 브라우저에서 직접 보내야 할 때 액세스 토큰 흐름 (암시 적 grant flow라고 함)이 사용됩니다.

@Prisoner가 이미 언급했듯이 오프라인 액세스도 가능합니다. 그것은 훨씬 더 좋은 디자인이 될 것입니다.

편집이 - 당신은 또한 G +에서 로그인에 What is the difference between the 2 workflows? When to use Authorization Code flow?