1

我正在尝试使用 django-allauth 连接到 FB。早些时候我使用了 oauth 方法,它工作正常,获取所有访问令牌。但是现在,我正在尝试使用 js_sdk 运行,但无法解决这里的问题。

设置.py:

SOCIALACCOUNT_PROVIDERS = \
{ 'facebook':
    { 'SCOPE': ['email', 'publish_stream','user_birthday'],
      'AUTH_PARAMS': { 'auth_type': 'reauthenticate' },
      'METHOD': 'js_sdk' ,
      'LOCALE_FUNC': lambda request: 'en_US'}}

html:

   {% load socialaccount %}  
   {% providers_media_js %}
   <a href ="{% provider_login_url "facebook" method="js_sdk" %}">Facebook connect</a>

单击 Fb 连接链接时,没有任何反应,因为它尝试调用 javacript:FB_login(''),但它不起作用。

对此的任何帮助都会很棒。谢谢!

4

2 回答 2

2

放置很重要。建议在您的 <body> 标记之后包含此内容。

{% load socialaccount %}
{% providers_media_js %}

要精简到准系统设置以进行测试,您还可以尝试以下操作:

SOCIALACCOUNT_PROVIDERS = {
        'facebook':{
        'SCOPE': ['email', 'publish_stream'],
        'METHOD': 'js_sdk',
    }
}
于 2014-04-02T08:26:45.150 回答
1

您是否覆盖了默认allauth模板?如果是这样,请确保将以下内容添加到您的登录模板中:

{% load socialaccount %}
{% providers_media_js %}

在默认模板中,这发生在此处:

https://github.com/pennersr/django-allauth/blob/27e2a8de0fe3c0c2e65ab8337617eb17a359940c/allauth/templates/account/login.html#L28

该标记为启用的提供程序添加所需的 Javascript(如果有)。

于 2013-05-21T15:15:11.660 回答