我正在创建一个网络应用程序,允许用户使用他们的Facebook帐户注册。我正在使用django-facebook对新用户进行身份验证/注册。我正在尝试我认为最简单的设置,使用django注册而不是userena。当我使用我自己的Facebook帐户时,一切都运行得很好:我被要求确认我允许应用程序访问我的个人资料,在auth_user表中创建了一个新帐户,我已经登录。
然而,当我以测试用户身份登录Facebook时,我确认我允许了该应用程序,然后我被重定向至facebook/connect/?facebook_login=1&attempt=1&code=AQBM0-z......不会创建新帐户。
以下是我的相关设置:
TEMPLATE_CONTEXT_PROCESSORS = (
'django_facebook.context_processors.facebook',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.tz',
'django.contrib.messages.context_processors.messages',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
AUTHENTICATION_BACKENDS = (
'django_facebook.auth_backends.FacebookBackend',
'django.contrib.auth.backends.ModelBackend',
)
FACEBOOK_APP_ID = NNN
FACEBOOK_APP_SECRET = NNNN
FACEBOOK_REGISTRATION_BACKEND ='django_facebook.registration_backends.FacebookRegistrationBackend'
AUTH_PROFILE_MODULE = 'django_facebook.FacebookProfile' 发布于 2013-02-19 02:10:34
似乎整个问题是django-facebook从facebook数据中删除了长电子邮件。这使得身份验证无法创建帐户。
我刚刚在api.py中注释掉了以下几行
if len(user_data.get('email', '')) > 75:
#no more fake email accounts for facebook
del user_data['email']https://stackoverflow.com/questions/14924307
复制相似问题