1

django-allauth を使用して、Facebook の OAuth2 メカニズムを介してユーザーをログインさせることができます。ここで、facebook の JS SDK 経由でログインできるようにしたいと思います。

ドキュメントはそれを言う

Facebook では、OAuth2 と Facebook Connect Javascript SDK の両方がサポートされています。2 つを混在させることもできます。

残念ながら、コード例には js SDK の使用方法が示されていません。コードを読んで、設定する必要があることがわかりました

SOCIALACCOUNT_PROVIDERS = {
    'facebook': {
        'SCOPE': ['email', 'publish_stream'],
        'METHOD': 'js_sdk'  # instead of 'oauth2'
    }
}

body私のhtmlテンプレートのタグに次のスニペットを含めます

{% include "facebook/fbconnect.html" %}

また、以下を my に追加しましたTEMPLATE_CONTEXT_PROCESSORS

allauth.account.context_processors.account
allauth.socialaccount.context_processors.socialaccount

何らかの理由で、これは十分ではないfacebook/fbconnect.htmlようです。置き換えられる変数が設定されていないようで、空の文字列に置き換えられてしまうからです。また、 によって作成されたリンク{% provider_login_url 'facebook' method='js_sdk' %}は だけjavascript:FB_login('')です。これは明らかに間違っています。

私は何が欠けていますか?

4

1 に答える 1

3

私はそれを行う方法を見つけました。する代わりに

{% include "facebook/fbconnect.html" %}

私は〜するべきです

{% providers_media_js %}
于 2012-12-08T19:47:43.293 に答える