2012-12-19 2 views
2

페이스 북 OAuth-API가 인증을 처리하는 방식을 완전히 이해하지 못한다고 생각합니다. 내가 이해할 수있는 한 기본적으로 다음과 같이 작동합니다 (클라이언트는 안드로이드 전화이고 내 서버는 표준 램프 설정 임). fb auth http://i.imagebanana.com/img/hvlsb2dp/fbAuth.png클라이언트 SDK를 통한 facebook 인증 - 보안 개념

이제 문제는 클라이언트가 3 단계를 제출하여 내 서버에 대한 잘못된 사용자 ID - 예를 들어 서버가 http://server.com/getConfidentialData.php?fbID=%FBID% 요청에 응답하고 사용자가 다른 사람의 fb-userID를 가져 오는 경우 그는 요청에 넣을 수 있으며 누군가에게 속한 데이터를 가져올 수 있습니다. 그밖에.

PHP-SDK를 사용하는 경우 내 사용자가 Android-App에 로그인되어 있는지 여부를 어떻게 알 수 있습니까?

그것이 정상적으로 작동하는 방식입니까, 아니면 뭔가 빠져 있습니까?

감사합니다. David.

답변

0

나는 똑같은 문제를 가지고 있습니다 ... 그리고 똑같은 감각이 있습니다. 그러나 어떤 대답도 없기 때문에 나는 당신을 내가 찾은 주위로 데려다 줄 것입니다. 그것이이었다처럼 https를 통해 내가 (내 서버에서 그를 식별하기 위해) 내 서버 FB의 사용자 ID, 자신의 전자 메일로 보낼

자신의 액세스 토큰 (모든 :

나는 다음과 같은 솔루션을 설계했다 특별 로그인 호출).

내 서버에서 액세스 토큰을 시도하고이 서버가 작동하면 (*) & 사용자를 내 서버에도 업데이트/등록하십시오.

(*) 사용자 전자 메일에 액세스 할 수있는 것처럼 처음 정의되었지만 그 권한을 가진 다른 응용 프로그램이 사용자를 가장 할 수 있으므로 토큰 형태로만 작동하는 토큰 수명을 연장합니다. 내 애플 리케이션.

누군가가이 문제에 대한 진정한 해결책을 제시하고 다른 사람들이이를 피하는 방법을 설명하면 도움이되기를 바랍니다. 감사하게 생각합니다.

건배!

+0

당신의 방법을 공유 주셔서 감사합니다,하지만 난 정말 페이스 북의 사람들이 더 완전한 것을 생각하지 않았다는 것을 상상할 수 없다 - 내 말은,한다 이것은 가장 중앙 인증-문제입니다, 그래서 그들은해야 우아하고 안전한 방법으로 그렇게 할 수 있습니다. 다른 한편, 만약 내가 API의 엉망을 보면 ... – David

+0

@ 데이비드 나는 이것이 3 방향 인증이므로 페이스 북 서버와 클라이언트는 서로 접촉해야하지만 그 엔버는 3 가지 시나리오가 나와 있습니다 : https://developers.facebook.com/docs/concepts/login/login-architecture/ 제 말은 ... 어느 쪽의 클라이언트가 페이스 북을 통해 서버 측 로그인에서 귀하를 호출했는지 알 수 없거나, 또는 이봐, 너의 의뢰인을 믿지 마라! 페이스 북을 통해이 사용자와 로그인했습니다. 클린트 쪽 js sdk 로그인 ... 내 말은, 내 방법은 각 쪽이 othes를 인증하는 유일한 방법입니다 ... 지금까지. 제 길에 어떤 오류가 있습니까? – Daren

+0

서버 측 로그인을 사용하고 Open-Graph-API (/ me 객체)를 통해 userID를 검색하면 클라이언트 -FB-Contact없이 'fb'에서 redirect_uri를 한 번 클릭 한 다음에도 가능하지 않습니다. - 공식 '앱 로그인 양식? 명백한 단점은 웹 브라우저에 표준 브라우저의 쿠키에 대한 액세스 권한이 없거나 사용자가 브라우저에 로그인하지 않은 경우 모바일 장치에서 앱을 시작할 때마다이 작업을 수행해야한다는 것입니다. fb-App을 사용하는 대부분의 사람들은 그렇지 않습니다. – David

1

유일한 진정한 해결책 :

는 개인 사용자 데이터가있는 서버가 아닌 모든 페이스 북에, 당신은 당신이 흐름을 이해하면 구현하는 것은 어렵지 않아 서버 측 로그인을 할 필요가되는 순간 .

Facebook에서 다이어그램을 확인하고이 예제에서 제공하는 지침을 따르십시오.

https://developers.facebook.com/docs/howtos/login/server-side-login/

관련 문제