Skip to content

7pairs/twingo2

Repository files navigation

twingo2

Build Status Coverage Status

概要

"twingo2"は、TwitterのOAuthを利用したDjangoの認証バックエンドです。 Twitterのユーザー情報による認証の仕組みを簡単な記述でDjangoアプリケーションに組み込むことができます。

バージョン

Python3.4 + Django1.8での動作を確認しています。 また、Python3.3およびDjango1.7でもユニットテストを実施しています。

インストール

同梱の setup.py を実行してください。

$ python setup.py install

pipを利用し、GitHubから直接インストールすることもできます。

$ pip install git+https://github.com/7pairs/twingo2.git

設定

Djangoからtwingo2を呼び出すための設定を行います。 まず、 settings.pyINSTALLED_APPStwingo2 を追加してください。

INSTALLED_APPS = (
    # (中略)
    'twingo2',  # ←追加
)

さらに、twingo2を認証バックエンドとするための設定を行います。 同じく settings.py に以下の記述を追加してください。

AUTHENTICATION_BACKENDS = (
    'twingo2.backends.TwitterBackend',
)

加えて、twingo2のモデルをシステムのユーザーモデルとするための設定を行います。 同じく settings.py に以下の記述を追加してください。

AUTH_USER_MODEL = 'twingo2.User'

また、あわせて settings.py に以下の定数を定義してください。

定数名 設定する値
CONSUMER_KEY Twitter APIのConsumer Key
CONSUMER_SECRET Twitter APIのConsumer Secret

なお、以下の定数を定義することで、twingo2のデフォルトの動作を上書きすることができます(任意)。

定数名 設定する値 デフォルト値
ADMIN_TWITTER_ID 管理者のTwitter ID(Screen Nameではありません)を格納したタプル(複数指定可能) None
AFTER_LOGIN_URL ログイン成功後のリダイレクト先URL /
AFTER_LOGOUT_URL ログアウト後のリダイレクト先URL /

URLディスパッチャー

urls.py に以下の記述を追加してください。

urlpatterns = patterns('',
    # (中略)
    (r'^authentication_url/', include('twingo2.urls'))  # ←追加
)

r'^authentication_url/' は任意のURLで構いません。 その配下のURLでtwingo2が動作します。

また、 @login_required デコレータを使用する場合、 settings.py に以下の記述を追加してください。

LOGIN_URL = 'authentication_url/login/'

authentication_url の部分は urls.py にて設定した値と同一のものにしてください。

ライセンス

twingo2は Apache License, Version 2.0 にて提供します。 ただし、twingo2が依存している TweepyThe MIT License により提供されていますのでご注意ください。

About

Django on Python3用Twitter認証バックエンド

Resources

License

Stars

Watchers

Forks

Packages

No packages published