1

我可以成功地使用 django-allauth 让用户通过 facebook 的 OAuth2 机制登录。现在我想通过 facebook 的 JS sdk 启用登录。

文档说_

Facebook 支持 OAuth2 和 Facebook Connect Javascript SDK。您甚至可以将两者混合使用。

不幸的是,示例代码没有显示如何使用 js sdk。通过阅读代码我发现我需要设置

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

body并在我的 html 模板的标签中包含以下代码段

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

我还在我的中添加了以下内容TEMPLATE_CONTEXT_PROCESSORS

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

由于某种原因,这似乎还不够,因为似乎没有设置要替换的变量facebook/fbconnect.html,导致它们被空字符串替换。另外,由{% provider_login_url 'facebook' method='js_sdk' %}is just生成的链接javascript:FB_login('')显然是错误的。

我错过了什么?

4

1 回答 1

3

我刚刚发现如何做到这一点。而不是做

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

我应该做

{% providers_media_js %}
于 2012-12-08T19:47:43.293 回答