0

ユーザーがFacebookアカウントを使用して登録できるWebアプリを作成しています。私はdjango-facebookを使用して新規ユーザーの認証/登録を行っています。userenaの代わりにdjango登録を使用して、最も簡単なセットアップを試しています。自分の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' 
4

1 に答える 1

1

全体的な問題は、django-facebookがFacebookデータから長いメールを削除することだと思われます。これにより、認証でアカウントを作成できなくなります。

api.pyの次の行をコメントアウトしました

if len(user_data.get('email', '')) > 75:
    #no more fake email accounts for facebook
    del user_data['email']
于 2013-02-18T18:10:33.667 に答える