gba-3のメモ

てきとー

Djangoでtwitterのログインを実装

Djangotwitterログイン機能を実装する

実装

環境  Python 3.6.1  Django 2.0.3

下記のコマンドでパッケージをインストール


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/ と入力する

これでログイン機能は完成