Facebook Javascript API: сопоставление логина с пользователем - PullRequest
1 голос
/ 28 мая 2011

При использовании логина Javascript API он возвращается на страницу с рядом параметров, таких как токен доступа, идентификатор пользователя и другие подробности.Если бы я хотел связать пользователя в моей базе данных с этим пользователем Facebook, какой фрагмент данных я хочу сохранить, чтобы иметь возможность позже найти его для аутентификации?

Другими словами, какой токен долженЯ храню, чтобы в следующий раз, когда пользователь вошел в систему, я мог найти этот токен в базе данных и аутентифицировать пользователя?

Я бы использовал UID, но, кажется, легко подделать другой UID и выдать себя за другого.

Спасибо!

Ответы [ 2 ]

1 голос
/ 28 мая 2011

Спуфинг на стороне клиента не является вашей заботой. Если вы отображаете содержимое FB на основе аутентификации FB, то FB отвечает за целостность этого процесса.

Если вы используете эту информационную серверную часть, то вам нужно следовать потоку OAuth 2.0, который не подделывается (насколько мне известно), потому что вы идете напрямую в FB для аутентификации.

Вы не можете смешивать два потока, потому что вы оставляете себя уязвимым для атак.

И чтобы ответить на другой вопрос, да, вы должны связать свою БД с UID, потому что access_token изменится.

0 голосов
/ 28 мая 2011

Вы можете проверить токен доступа fb с помощью fb js sdk.Таким образом, вы можете использовать fb-uid как save.Токены, которые вы получаете от fb, действительны только в течение ограниченного времени, поэтому вы не должны их сохранять.

ОБНОВЛЕНИЕ: Относительно безопасности fb-uid: ваш PHP-скрипт получаетподписанный запрос от facebook.Этот запрос подписывается секретом вашего приложения, чтобы никто другой не мог прочитать эти данные.Запрос содержит fb-сессию для текущего пользователя (включая uid) и токен доступа.

...