Должен ли я хранить токен пользователя Facebook offline_access в моей базе данных пользователей? - PullRequest
1 голос
/ 11 августа 2011

Я создаю веб-приложение, в котором я получаю информацию о пользователе из его / ее API Facebook после того, как он / она входит в систему с помощью Facebook, чтобы использовать мое веб-приложение.

У меня есть PHP-код, который успешно получает offline_access access_token от пользователя, когда он / она входит в мое приложение.

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

Любая помощь / предложения с благодарностью.

Ответы [ 3 ]

1 голос
/ 11 августа 2011

Да, вы храните токен в своей базе данных. Нет, безопасность на этом не очень хорошая. Вы не можете обращаться с ним как с паролем, вы можете ввести и хешировать пароль, но вам нужно сохранить первоначальное значение токена доступа. Это принципиально важно для OAuth, вы доверяете провайдеру приложений (вам) «ключи от королевства».

1 голос
/ 11 августа 2011

В зависимости от Facebook SDK вы должны хранить сеанс пользователя (sdk2.x) или только токен доступа (sdk3.x). Лучшее место для хранения - база данных. Я обычно сохраняю токены при создании пользователя и обновляю сохраненный токен при входе пользователя в систему (поскольку токены все еще имеют срок действия).

Затем, когда вам нужно использовать токен (или сессию), вы должны использовать либо

setAccessToken($stored_token)

или

setSession($stored_session)

Надеюсь, это помогло.

0 голосов
/ 11 августа 2011

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

...