2012-02-27 61 views
6

我有一個網站,允許使用Django的社會身份驗證Django的REST Facebook驗證

現在我還需要使用非基於cookie的API來驗證Facebook驗證。我的想法是包含一個「sessionid =」作爲POST字段(它將使用HTTPS)。到目前爲止,我設法「愚弄」django來訪問這個sessionid,就像它是一個cookie(我基本上做了一些像request.COOKIES ['sessionid'] = request.POST ['sessionid']在中間件)。

我的問題是如何在認證之後將sessionid賦予用戶權限。 從我能找到的,facebook給用戶一個「訪問令牌」,然後將其發送到/ complete/facebook /,由django-social-auth處理並返回一個包含「sessionid」的「Set-cookie」 「鍵。但相反,我需要它在頁面內容中返回sessionid鍵作爲json(API客戶端無法讀取http響應頭)。

回答

1

看起來像一個挑戰。但是也許你可以使用一個保存信號,用所需的JSON觸發一個Comet事件。作爲一個起點,django-social-auth doc的舊版本似乎提到了信號。

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

但是一個更好的辦法可能是跳過Django的社會身份驗證一起,去蟒蛇社會權威性。文檔本身說: 「注意:本圖書館因python-social-auth而受到譴責。」