Django-allauth:FB连接使用oauth2,但没有使用js-sdk

时间:2013-05-20 09:09:23

标签: django-allauth

我正在尝试使用django-allauth连接到FB。之前我使用oauth方法,它工作正常,获得所有访问权限。但是现在,我正在尝试使用js_sdk运行,但是无法在这里解决问题。

settings.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 connect链接时,没有任何反应,因为它尝试调用javacript:FB_login(''),这不起作用。

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

2 个答案:

答案 0 :(得分:1)

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

{% load socialaccount %}
{% providers_media_js %}

在默认模板中,会发生这种情况:

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

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

答案 1 :(得分:1)

安置很重要。建议在你的&lt;之后包括这个。身体&gt;标签。

{% load socialaccount %}
{% providers_media_js %}

要缩小测试的准系统设置,你也可以试试这个:

SOCIALACCOUNT_PROVIDERS = {
        'facebook':{
        'SCOPE': ['email', 'publish_stream'],
        'METHOD': 'js_sdk',
    }
}