Djangoでtwitterのログインを実装
実装
下記のコマンドでパッケージをインストール
pip install social-auth-app-django
setting.pyに以下を追記する
INSTALLED_APP = [ ・・・ 'social_django', ・・・ ]
TEMPLATES = [ { ・・・ 'OPTIONS': { 'context_processors': [ ・・・ 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', ], }, }, ]
LOGIN_REDIRECT_URL = ログイン後のページ SOCIAL_AUTH_TWITTER_KEY = クライアントID SOCIAL_AUTH_TWITTER_SECRET = クライアントシークレット AUTHENTICATION_BACKENDS = ( 'social_core.backends.twitter.TwitterOAuth', 'django.contrib.auth.backends.ModelBackend', )
INSTALLED_APPSを追加したのでmigrateする
urls.pyに以下を追記する
urlpatterns = [ path('',include('social_django.urls')), ]
ログイン機能を追加したいテンプレートに以下を記入
<a href="{% url 'social:begin' 'twitter' %}">Login with Twitter</a>
Callback URLのチェック対策
https://apps.twitter.com/ 上のURLでCallback URLという項目があるのでそれをSettingsで再設定する
Callback URLのところをhttp://127.0.0.1:8000/complete/twitter/ と入力する
これでログイン機能は完成