こんにちは。
今日はdjango-allauthについて無理やり最終編(③ソーシャルアカウント編)を書いて終わらせたい思います。django-allauthには沢山のソーシャルアカウントが選べるようになっていますが、facebookで試したいと思います。
以下が実施してある事が前提です。

Wagtailのサイトにユーザ認証機能を追加する ①設定編

Wagtailのサイトにユーザ認証機能を追加する ②テンプレート編
Facebook Developers
まずは、Facebook Developersにアクセスして、ログイン機能が使えるように登録していきます。 https://developers.facebook.com/?locale=ja_JP
ログイン用にアプリを作成していきます。以下から合うものを選択します。私は「コネクテッドエクスペリエンスを構築」を選択します。
ロボットではないにチェックをして先に進みます。
以下に適切に入力して、アプリを作成します。
次にFacebookログインのクイックスタートを選択して、www(ウェブ)を選択します。
ウェブサイトに入力で適切なURLを入れます。今回はテストなので「http://localhost:8000/」を入力します。クイックスタートは下に続きますが、、とりあえずこれだけで良さそうなので、おしまいにしました。
アプリIDとapp secretを後で使います。
Wagtailのソースの修正
次はWagtailのソースの修正を行います。 django-allauthのドキュメントを参考に触っていきます。 https://django-allauth.readthedocs.io/en/latest/providers.html#facebook
base.pyに以下を追加します。
|
|
以下も追加します。LOCALE_FUNCは書き換えました。
|
|
実行
「python manage.py runserver」で実行します。 http://localhost:8000/login/にアクセスすると、以下エラーとなります。(多分)
ImproperlyConfigured at /login/ No Facebook app configured: please add a SocialApp using the Django admin
http://localhost:8000/django-admin/の管理者サイトにアクセスします。 social accountingを選択して追加します。
cliantIDとSecretKeyにfacebookのアプリIDとapp secretをそれぞれ入力します。Sitesにhttp://localhost:8000を登録します。
これでエラーが消えるでしょう。(多分)
Facebookを選択すると、こんなんが出てきます。
Facebookログインがhttps必須になったらしく、localhostではログイン出来ません。 以下で有効なOAuthリダイレクトURIにhttp://localhost:8000/を登録します。
これでFacebookログイン出来ました。おしまいです。