2011-01-11 4 views
6

저는 Android 앱뿐만 아니라 Android 클라이언트와도 통신하는 웹 사이트를 개발 중입니다. FB 로그인을 사용하고 싶지만, 내가 보는 문제는 다음과 같습니다.Android Facebook 로그인 및 웹 서버

클라이언트, FB 로그인을 사용하고 access_token을 얻습니다.

웹 서버가 클라이언트가 참조하는 계정을 알아야하기 때문에 클라이언트와 웹 서버는이 access_code를 사용하여 어떻게 통신합니까? 나는 또한 웹 사이트에 FB 로그인을 구현하고 싶다.

클라이언트 로그인 : 내가 생각

한 가지 방법이었다 1)를 사용하여 FB 로그인 및 access_token은 얻을. 2) access_token을 사용하여 일부 사용자 정보를 가져옵니다. 3) 웹 서버에 access_token 및 User 정보를 제공하십시오. 4) 웹 서버는 access_token과 동일한 FB 작업을 수행하고 사용자 정보를 검색합니다. 5) 사용자 정보 일치를 확인하고이를 기반으로 사용자 계정을 결정하십시오. 6)이 링크에 대해 Client와 Web Server간에 또 다른 access_token을 설정하십시오.

더 이상 유효하지 않거나 실제 로그인으로 사용자 이메일 주소를 검색하여 웹 서버에 사용할 계정임을 알려주 는가?

아니면 누군가 다른 방식으로이 작업을 수행 했습니까?

+0

스티븐, 안전한 로그인 흐름을 제안 했습니까? 나는 똑같은 문제에 직면하고 있으며, 당신의 조치는 내가 시도하려고했던 것입니다. 그것이 성공했는지에 관해 궁금하게 생각한다. –

+0

브래디, 너 뭔가 해줬 니? :) – ThanksBro

+0

너 알아 냈어? 여러분 중 한 명 : Stephen 또는 @BradyEmerson 나는 똑같은 일을하려고 노력하며 좋은 길을 알 필요가 있습니다. – necromancer

답변

1

클라이언트/서버 간 통신의 경우 고유 한 클라이언트 ID를 사용해야합니다.
access_token facebook에서 중계하지 않으면 몇 가지 시나리오가 변경되어 사용자에게 알려줍니다.
사용자가 메일을주지 않기로 결정할 수도 있기 때문에 전자 메일을받는 것은 완전한 솔루션이 아닙니다.

일반적으로 양쪽에 Facebook Connect를 구현해야합니다.

1. 연결이 사용자로부터
2.Get 권한을 Facebook에

(여기 권한에 대해 읽어 : http://developers.facebook.com/docs/reference/api/permissions/) 사용자로 3.Register
을 그에게 ID를 부여 (당신이 원하는 경우 uid를 페이스 북을 사용할 수 있습니다) .

사용자가 사이트/앱으로 돌아올 때 다시 로그인해야 할 경우 uid를 가져 와서 서버에 사용자 세부 정보를 쿼리하십시오.

access_token에 대한 한 가지 사실은 페이스 북의 API를 쿼리해야합니다. 사용자가 페이스 북을 사용하여 사이트/모바일에 로그인 할 때마다 페이스 북에서 가져 오거나 offline_access 권한에 대해 사용자에게 요청할 수 있습니다. 그러면 페이스 북 등에서 사용자가 암호를 변경할 때까지 동일한 access_token을 갖습니다. 그것은 문서에).
사용자가 현재 귀하의 사이트에 로그인되어 있지는 않지만이 방법을 사용하면 Facebook API를 쿼리 할 수 ​​있습니다.