2012-07-10 2 views
6

Android 앱에 Facebook 인증을 사용하고 있습니다.facebook-id를 사용하여 내 안드로이드 앱에 얼마나 안전하게 로그인합니까?

내 앱에서 facebook ID [facebook-id로 HTTP API에 게시]를 사용하여 사용자를 인증합니다. 따라서 누군가 내 앱의 모든 사용자의 facebook-id를 알게되면 URL에 쉽게 게시하여 앱에 대한 액세스 권한을 부여 할 수 있습니다.

이렇게하는 것이 권장되는 방법이 있습니까?

답변

2

일단 로그인 POST를하면 페이스 북에서 고유 한 authtoken을 제공하지만 언젠가 만료됩니다. 이 토큰을 기반으로 임시 "session_key"(md5 (facebook_token + user_id) 일 수 있음)를 생성하고이 session_key를 db에 저장 한 다음 애플리케이션으로 다시 보냅니다 ..

앱이 서버에 요청할 때마다 이 세션 _ 키와 사용자 이름을 보내려면 서버 측에서 session_key가 데이터베이스에 있고 "user_id"에 할당되어 있는지 확인해야합니다.

모든 것이 정상이면 작업을 계속할 수 있습니다. 오류 메시지.

사용자가 로그 아웃 할 때이 session_key를 제거하십시오 (페이스 북으로 로그인 할 때 다시 생성됩니다).

희망이 도움이 될 것입니다.

+0

나는 모든 사용자에 대해 만료되지 않고 동일한 앱 액세스 토큰을 사용하고 있습니다. –

+0

이렇게하면 페이스 북의 oauth 토큰이 앱과 API간에 공유 될 수 있어야합니다. 현재 작동하는 경우에도 시스템의 다음 릴리스에서 수행 할 수있는 사항은 없습니다. – ZeWaren

1

사용자가 Facebook에 로그인하면 인증 토큰과 페이스 북 ID를 제공합니다. 토큰이 [https://graph.facebook.com/me?accesstoken=]을 통해 사용자에게 속하는지 여부에 관계없이 앱 서버에서 유효성을 검사합니다. 유효한 경우 액세스 권한을 부여하십시오.