Получить информацию о пользователе из Facebook или Twitter в Django - PullRequest
0 голосов
/ 12 сентября 2011

Я создал процесс регистрации в Django, используя django.contrib.auth, а также настроил профили пользователей. Теперь я хочу добавить опцию для получения информации профиля со сторонних сайтов, таких как Facebook, Twitter и LinkedIn. Я нашел django-socialregistration, но я не знаю, как переопределить стандартное представление настройки. Какое самое лучшее и простое решение для задачи?

1 Ответ

3 голосов
/ 12 сентября 2011

Вот основная идея установки, которую я использую, хотя она предназначена только для Facebook:

  1. Интеграция Facebook JavaScript SDK
  2. Привязка функции JavaScriptкоторый вызывает FB.login на кнопку «Войти с Facebook», запросить все необходимые вам разрешения для этого пользователя
  3. В разделе function(response) вызова FB.login обработайтевозвращенный ответ, затем выполните Ajax POST для представления Django (для этого я использую jQuery), которое принимает ответ, анализирует его, чтобы получить токен доступа для пользователя и сохранить его в объекте профиля пользователя для этого пользователя.
  4. Затем вы можете использовать этот access_token, чтобы отправлять Facebook Graph API запросы от имени этого пользователя на стороне сервера, или, если хотите, вы можете просто использовать JavaScript SDK, чтобы сделать все вашиполностью взаимодействует с клиентской частью Ajax для взаимодействия с бэкэндом Django.

Я считаю, что это гораздо более простое решение, чем пытаться использовать один из пакетов Django, потому что большинство из нихустарели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...