1

私はdjango-socialregistrationを機能させることに真剣に混乱しています。

だから私の設定ファイル:

TEMPLATE_CONTEXT_PROCESSORS = (
    "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.contrib.messages.context_processors.messages",
    "django.core.context_processors.request"

)

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'socialregistration.middleware.FacebookMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',

    'django.contrib.messages.middleware.MessageMiddleware',
)

FACEBOOK_REQUEST_PERMISSIONS = 'email,user_about_me'

AUTHENTICATION_BACKENDS = (
    'socialregistration.auth.FacebookAuth',
    'django.contrib.auth.backends.ModelBackend',

)

INSTALLED_APPS = (
    ...
    'socialregistration',
    ...
)

FACEBOOK_APP_ID     = '...'
FACEBOOK_API_KEY    = '...'
FACEBOOK_SECRET_KEY = '...'

ビューはリクエスト コンテキストを使用しており、テンプレートにはボタンを表示するために必要な項目があり、FB 接続ボタンをクリックすると、アプリに接続するかどうかを尋ねるポップアップが表示されます。

ここで、何が起こるべきか迷ってしまいます。

ケース 1: 私は新規ユーザーで、example.com に登録したことはありませんが、FB アカウントを持っていて、FB 接続ボタンが表示されているので、それをクリックして登録します (これは django-socialregistration です。登録プロセスの開始点?) ポップアップを取得し、FB ポップアップ ページの [許可] ボタンをクリックすると... 「ユーザー名とパスワードが一致しませんでした。もう一度お試しください」というページ「/accounts/login/」にリダイレクトされます。

Admin には何も作成されていません。Facebook アカウントの設定にアクセスすると、自分のアプリに接続されていることが示されます。

ケース 2:私は既存のユーザーです。自分のサイトにログインし、FB 接続ボタンをクリックします。ポップアップが表示され、[許可] をクリックすると、プロファイル ページにリダイレクトされます。管理者には、新しい socialregistration facebook プロファイルがあります。次に、サイトからログアウトし、戻ってきて Facebook の接続ボタンをクリックすると、「/accounts/login/」にリダイレクトされ、同じようにユーザー名/パスワードが一致しませんでした。

ヘルプ?!私は問題を抱えている他の人を見つけようとしてGoogleに何度もアクセスしましたnada-エラーについて話している人々(私が望んでいるエラー、起こっていることを追跡させてくれるでしょうが、私が言えるのは認証がただの大きな失敗であるということだけです.)。

前もって感謝します。

編集: 上記の私の質問に対する問題の部分的な修正 settings.py で socialregistration アプリのテンプレート フォルダーを指していることを確認するか、テンプレートをテンプレート パス上の場所に移動します。それが上記の質問に対する私の問題でした-しかし、私はまだこのアプリを機能させることができません.

4

0 に答える 0