I\'ve been reading a lot about the topic but all I find are obsolete or partial answers, which don\'t really help me that much and actually just confused me more. I\'m writi
I think the better solution would be this:
fb_access_token
given, make sure its valid. Get user_id
,email
and cross-reference this with existing users to
see if its a new or old one.api_access_token
that you give back to the webapp and android app. If you need Facebook for
anything other than login, store that fb_access_token
and in your
DB associate it with the new api_access_token
and your user_id
.api_access_token
to authenticate it. If you need the fb_access_token
for getting more info, you can
do so by retrieving it from the DB.In summary: Whenever you can, avoid passing the fb_access_token
. If the api_access_token
is compromised, you have more control to see who the attacker is, what they're doing etc than if they were to get ahold of the fb_access_token
. You also have more control over settings an expiration date, extending fb_access_token
s, etc
Just make sure whenever you pass a access_token of any sort via HTTP, use SSL.