2010-12-05 2 views
2

Я пишу приложение с несколькими клиентскими интерфейсами, использующими Facebook Connect в качестве единого решения.Проверка сеанса Facebook Connect

Один из этих клиентов, например, работает на платформе iOS, поэтому вся аутентификация fb происходит на клиенте через iOS Facebook SDK. Однако после того, как пользователь аутентифицируется на клиенте, поскольку я использую Facebook для входа на наш сайт, есть ли в любом случае сервер, чтобы взять данные аутентификации от клиента и проверить его?

ответ

1

Используя Javascript SDK, вызовите FB.getSession(), чтобы получить объект JS с различными битами, связанными с аутентификацией. Из них передайте «access_token», «expires», «secret», «session_key», «uid» и «sig» вместе с вашим сервером.

На стороне сервера, чтобы проверить, является ли вызов подлинным, CONCAT их в строку, такие как "access_token = 1290380d9e & истекает = 92d903 & секрет = e9cj9kd & session_key = s49i9i3f & UID = 12345". Итак, все, что вы только что прошли, ИСКЛЮЧАЯ СИГ.

К этой строке присоедините «секрет приложения», который вы можете получить от Facebook developer site. Возьмите MD5 hexdigest (в Python import md5; md5.new (foobar) .hexdigest()) строки и сравните, чтобы убедиться, что это то же самое, что и «sig», который вы передали.

Смежные вопросы