django REST facebook аутентификация - PullRequest
6 голосов
/ 27 февраля 2012

У меня есть сайт, который позволяет аутентификацию Facebook с использованием django-social-auth

Теперь мне также нужно пройти аутентификацию с использованием API, не основанного на cookie.Моя идея состоит в том, чтобы включить "sessionid =" в качестве поля POST (оно будет использовать HTTPS).До сих пор мне удавалось «обмануть» django для доступа к этому sessionid, как если бы это был файл cookie (я в основном делаю что-то вроде request.COOKIES ['sessionid'] = request.POST ['sessionid'] в промежуточном программном обеспечении).

Моя проблема в том, как передать sessionid пользователю сразу после его аутентификации.Из того, что я мог узнать, facebook дает пользователю «токен доступа», который затем отправляется в / complete / facebook /, который обрабатывается django-social-auth и возвращает заголовок «Set-cookie», содержащий «sessionid»ключ.Но вместо этого мне нужно, чтобы он возвращал ключ sessionid в виде json в содержимом страницы (клиент API не может прочитать заголовок ответа http).

1 Ответ

1 голос
/ 01 апреля 2015

Похоже на вызов. Но, возможно, вы можете использовать сигнал сохранения, который запускает событие Comet с требуемым JSON. В качестве отправной точки старая версия документа django-social-auth, кажется, упоминает сигналы.

https://django -social-auth.readthedocs.org / ен / v0.7.1 / signals.html

Однако лучшим подходом может быть пропустить django-social-auth все вместе и пойти на python social auth. Сама документация гласит: «ПРИМЕЧАНИЕ: ЭТА БИБЛИОТЕКА УСТАРЕЛА ИЗ-ЗА ПОЛЬЗОВАНИЯ Python-Social-AUTH.

...