2012-02-27 5 views
6

У меня есть сайт, который позволяет проверку подлинности на Facebook с помощью Джанго-социальной-AUTHаутентификации facebook Джанго REST

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

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

ответ

1

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

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

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