2016-07-08 8 views
3

プロジェクトでは、ユーザー登録と認証にdjango-rest-authを使用します。私はログインのためのdjango rest auth facebookコード

url(r'^rest-auth/facebook/$', FacebookLogin.as_view(), name='fb_login'), 

を追加します。しかし、URLのローカルホスト上urls.py

from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter 
from rest_auth.registration.views import SocialLoginView 

class FacebookOAuth2AdapterFixed(FacebookOAuth2Adapter): 

    def __init__(self): 
     pass 


class FacebookLogin(SocialLoginView): 
    adapter_class = FacebookOAuth2Adapter 

そして、私のプロジェクトで:8000 /残り-AUTH/Facebookの私は2つのパラメータでフォームを参照してください。また、私はFacebookのログイン用のコードを追加しました:トークン(既に所有している)とコードにアクセスします。 enter image description here 私の質問は次のとおりです:このコードなしでFacebook経由でログインできますか?そうでない場合は、フロントエンドなしでこのコードを取得するにはどうすればよいですか?ワークユーザーの認証/登録を確認するにはどうしたらいいですか? PS:SocialAppが作成され、Facebookブックアプリが作成され、アプリIDとアプリのシークレットがソーシャルアプリに追加されました。

+1

コードまたはアクセストークンを使用して_login_しないでください。ユーザーがFBログインダイアログに送信してそこからアプリケーションにリダイレクトされると、コードがGETパラメータとしてアプリケーションに渡され、アプリケーションはアクセストークンを取得して交換する必要があります。そのアクセストークンを使用してAPIリクエストを作成することができます。なぜあなたは手動でこれらの値のどちらかを入力するフォームを持っていますが、わかりません。しかし、それはFBログインが一般にどのように動作するかではありません。 – CBroe

+0

質問に答えましたか?私は同じジレンマを持っています。 –

+0

いいえ、私はしません。この質問に答えました。 –

答えて

2

「アクセストークン」または「コード」フィールドの1つだけが必要です。 (私はコードフィールドをテストしていませんが、コードフィールドは空白のままで、アクセストークンフィールドは動作します)

アクセストークンを使用するには、ユーザーがFacebook javascript SDKを使用してクライアント側で "Login to Facebook" Facebookのデータにアクセスするための "accessToken"を含むFacebookからの返信が届きます。このアクセストークンを「アクセストークン」フィールドに貼り付けるだけで、自動的にログインしたり、Facebookから取得したデータからユーザーのアカウントを作成したりします。

もちろん、フォームにアクセストークンをすべてjavascriptで投稿することで、同じプロセスを実行できます。

関連する問題