Как пройти проверку подлинности с помощью API своего сайта при использовании Facebook Connect для входа в систему / создания учетной записи? - PullRequest
14 голосов
/ 21 января 2012

Заголовок посвящен большинству вопросов, но мне очень трудно обдумать, как у меня аутентифицированные пользователи Facebook получают доступ к API моего сайта.

После того, как пользователь прошел аутентификацию с помощью FB, у меня есть немного информации о пользователе, но нет ключа API или имени пользователя / пароля для передачи на мой собственный защищенный сервер API для аутентификации.

Я нашел несколько связанных вопросов, но ничего, что кажется идеальным ответом:

Любая помощь будет принята с благодарностью!

1 Ответ

10 голосов
/ 21 января 2012

Поскольку вы аутентифицируете своих пользователей через Facebook connect, вы знаете достаточно о пользователе.

Независимо от потока аутентификации , который вы используете, вы

ШАГ # 1: получает параметры access_token и expire. Скорее всего, вы также запросили user_id (если вы используете JS-SDK, он справится с большей частью этого).

ШАГ # 2: инкапсулирует эту информацию (access_token, expire & user_id) в хешированную строку, например, имитировать формат Facebook signed_request.

ШАГ # 3: отправить эту хеш-строку в ваших собственных вызовах API:

https://mydomain.com/apis/getUserSecretData?fb_oauth=my_hashed_string&vars=my_other_vars

ШАГ # 4: в вашей конечной точке API, расшифруйте / расшифруйте вашу хешированную строку и проверьте параметр expire, а если срок действия access_token истек, вам нужно запросить новый и повторите ваш вызов API.

...