19
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Djangoでtwitterログイン

Last updated at Posted at 2018-03-16

Djangoでtwitterログイン機能を実装する

#追記
アップデートでTwitterがOAuth認証時にCallback URLをチェックするようになったみたいなのでその対策

#実装
環境
 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に以下を追記する

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

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

19
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?