6

django-social-auth を使用して Facebook 認証を許可するサイトがあります

ここで、Cookie ベースではない API を使用して認証する必要もあります。私の考えは、「sessionid=」を POST フィールドとして含めることです (HTTPS を使用します)。これまでのところ、djangoを「だまして」、このセッションIDにCookieであるかのようにアクセスすることができました(基本的に、ミドルウェアでrequest.COOKIES ['sessionid'] = request.POST ['sessionid']のようなことを行います)。

私の問題は、ユーザーが認証された直後にセッションIDをユーザーに与える方法です。私が見つけたものから、facebook はユーザーに「アクセス トークン」を与え、それが /complete/facebook/ に送信されます。これは django-social-auth によって処理され、「sessionid」を含む「Set-cookie」ヘッダーを返します。鍵。しかし、その代わりに、セッション ID キーをページ コンテンツの json として返す必要があります (API クライアントは http 応答ヘッダーを読み取ることができません)。

4

1 に答える 1

1

挑戦のようです。しかし、必要な JSON を使用して Comet イベントを発生させる保存シグナルを利用できるかもしれません。出発点として、古いバージョンの django-social-auth doc はシグナルについて言及しているようです。

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

ただし、より良いアプローチは、django-social-auth をすべてスキップして、python ソーシャル認証を使用することです。ドキュメント自体には、「注: このライブラリは python-social-auth を支持して非推奨です。」

于 2015-04-01T18:49:05.937 に答える