2012-02-27 19 views
6

Mam witryny, który umożliwia uwierzytelnianie przy użyciu Django Facebook social-authuwierzytelniania facebook django REST

Teraz też trzeba uwierzytelnić przy użyciu API non-cookie-oparte. Moim pomysłem jest umieszczenie "sessionid =" jako pola POST (będzie używać HTTPS). Do tej pory udało mi się "oszukać" django, aby uzyskać dostęp do tego sessionid, tak jakby był plikiem cookie (zasadniczo robię coś takiego jak request.COOKIES ['sessionid'] = request.POST ['sessionid'] w oprogramowaniu pośredniczącym).

Mój problem polega na tym, w jaki sposób udostępnić użytkownikowi sessionid użytkownikowi po jego uwierzytelnieniu. Z tego, co mogłem się dowiedzieć, facebook daje użytkownikowi "token dostępu", który jest następnie wysyłany do/complete/facebook /, który jest przetwarzany przez django-social-auth i zwraca nagłówek "Set-cookie" zawierający "sessionid" "klucz. Ale zamiast tego, potrzebowałbym go, aby zwrócić klucz sesjiid jako json w treści strony (klient API nie może odczytać nagłówka odpowiedzi http).

Odpowiedz

1

Wydaje się być wyzwaniem. Być może jednak możesz użyć sygnału zapisu, który uruchamia zdarzenie Comet z wymaganym JSON. Jako punkt wyjścia stara wersja dokumentu django-social-auth wydaje się wymieniać sygnały.

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

Jednak lepszym rozwiązaniem może być, aby pominąć django-społeczno-auth wszystko razem i iść do pytona auth społecznej. Sama dokumentacja mówi: "UWAGA: NINIEJSZA BIBLIOTEKA JEST ODRADZANA NA PRAWDĘ Python-social-auth."

Powiązane problemy