0

http://.../ref/4Q3j9/クリックするとサインアップページに移動するような紹介URLがあります。Google アカウント [Oauth2] を使用してサインアップできます。それらを隠し変数としてテンプレートに保存します。しかし、ユーザーが Google サインインをクリックすると、それらの値が失われます。とにかく、これらのパラメーターを渡してから、social_auth のリダイレクトに戻ることができますか。パイプラインを使用することを考えましたが、それはログインプロセスの後でのみであり、それまでにそれらのパラメーターが失われます。

4

2 に答える 2

0

ユーザーがログインしたときにdjangoがセッションをクリアするため、セッションに保存するだけでは不十分です。ユーザーがサインアップページに送信されたときにセッションに保存できますが、パイプラインエントリが必要ですのようなもので、 django-social-auth によって行われたリダイレクトがユーザーに送信される前 (認証が完了し、ユーザーがログインしたとき)user.referral = request.session['referral']をチェックするミドルウェアを使用してセッションに戻します。request.user.referral

定義してみGOOGLE_OAUTH2_AUTH_EXTRA_ARGUMNTS = {'referral': None}て、Google OAuth2 リンクが?referral=foobar追加されていることを確認してください。しかし、それは紹介の最初のセッションストレージを回避するだけであり、パイプライン(ただし、今回request.GET['referral']はセッションではなくチェック)エントリとミドルウェアが必要であり、認証が完了したときにGoogleが紹介を返すかどうかはわかりません.

于 2013-01-06T16:38:56.490 に答える
0

古い質問ですが、答えられていないので...私はCookieを使用してこれを行い、ビュー関数にCookieを設定しました

response.set_cookie( cookie_name, my_needed_value, max_age=3600)

またはWebページで

document.cookie = 'cookie_name=my_needed_value; expires=Tue, 05 Nov 2014 00:00:00 UTC; path=/'

(有効期限が適切に設定されているか、削除するために過去の日付に設定されています)、ビューで次のように読み取ります

if request.COOKIES.has_key(cookie_name):
        my_needed_value = request.COOKIES[cookie_name]
于 2014-11-04T02:22:31.837 に答える