2014-01-12 3 views
1

Я использую Opauth для того, чтобы пользователи могли войти в систему со своими учетными записями в социальных сетях для системы комментариев.Цель токенов пользователя auth?

После прочтения этого конкретного сайта, кажется, что токен является одним из способов идентификации пользователя путем его хранения в сеансе. Тем не менее, я также прочитал, что нет необходимости использовать токен, достаточно идентификатора пользователя.

Мой вопрос: что определяет, используете ли вы токен или идентификатор пользователя, достаточно просто, чтобы идентифицировать пользователя?

+0

«как токен идентифицирует пользователя» --- он находится на стороне поставщика. 'token - application - user'. Таким образом, конкретный токен идентифицирует пользователя для конкретного приложения. – zerkms

+0

Спасибо @zerkms, хотя мне все еще трудно понять.Я думаю, что этот вопрос и ответ помогают в том, что я пытаюсь сделать, и понимаю, нужен ли токен в моем случае: http://stackoverflow.com/a/10100252/938664 –

+0

смешно, что это мой 2-летний ответ как well :-) – zerkms

ответ

1

uid уникально идентифицирует пользователя, но токен и секрет используются для запросов к API Twitter/Facebook после того, как вы получили доступ к учетной записи.

Если вы не намереваетесь делать какие-либо дополнительные запросы, секрет и токен не будут вам полезны.

1

Я попытаюсь объяснить вам цель Access Tokens в отношении Facebook API.

A uid (User Id) - это то, что может однозначно идентифицировать пользователя на Facebook. Например: 1786565687 (это я кстати). В то время как токен является непрозрачной строкой, которая идентифицирует пользователя, приложение или страницу и может использоваться приложением для создания вызовов API-интерфейса. Например, A User Access Token необходим, когда приложение вызывает API для чтения, изменения или записи данных Facebook конкретного человека от их имени.

Я также прочитал, что нет необходимости использовать токен, достаточно ID пользователя .

Это правда, но с использованием идентификатора пользователя вы получаете только ограниченный объем информации, относящейся к определенному пользователю. Например: https://graph.facebook.com/1786565687 предоставит вам только ограниченный объем информации для пользователя Rahil Arora (это я снова), и вы не сможете писать или изменять от моего имени.

Принимая во внимание действительный токен доступа, вы даже записываете или изменяете данные конкретного человека от их имени. Из-за проверки конфиденциальности большинство конечных точек API на Facebook должны включать токен доступа, и поэтому вы не можете получить доступ к конечным точкам, просто используя идентификатор пользователя. Для доступа к дополнительной информации, относящейся к определенному пользователю, необходим действительный токен доступа. Например: https://graph.facebook.com/1786565687?access_token={Access_Token} предоставит вам гораздо больше информации, чем предыдущий вызов.

Что определяет, используете ли вы токен или идентификатор пользователя, просто достаточно, чтобы идентифицировать пользователя?

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

Вы можете обратиться к ссылкам, опубликованным в ответе, для получения дополнительной информации.

+0

Вы проверили это ** [ссылка] (http://cloud.chrisburton.me/0W2t0F3W1N3B) **? Войдите в свой Facebook, и вы увидите, что я получаю гораздо больше данных, чем то, что у вас есть ** [показано] (https://graph.facebook.com/1786565687) **. Исходя из этих данных, мой вопрос заключается в том, что я могу теперь идентифицировать пользователя только с их UID, а не с токеном? –

+0

Да. Я знаю. Это был просто пример. Дело здесь в том, что с символикой вы можете делать дополнительные вещи. Для идентификации вы можете использовать оба. С помощью инструментов отладки можно получить информацию о пользователе из токена доступа. Взгляните на [эту ссылку] (https://developers.facebook.com/docs/facebook-login/access-tokens/#debug) –

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