Djangoサードパーティログイン
3213 ワード
主な翻訳https://django-social-auth.readthedocs.org/en/latest/index.htmlあ、適当なところに自分の理解を加えて、あるところは添削があります.
ステップ1:依存関係のインストール
pip install django-social-auth
(またはeasy_installでインストールするか、cloneの後に/setupを構成するか)を参照してください.https://django-social-auth.readthedocs.org/en/latest/installing.html#get-a-copy
インストール後、必要なsettings構成が完了するとrun serverにエラーが発生します!wtfは、もともと一緒にインストールされていた最新版python-social-authが合わなかった.
git checkout tags/v0.1.9
sudo python setup.py install
このバージョンを取り出したら、インストールして、and voila!
ステップ2、構成
settings.pyに追加
加入後、データベースを同期します.(social_auth自体はいくつかのmodelsを持っています)
そして、サポートするサードパーティのWebサイトを追加します.
上の最後の一言をなくさないでください.ありがとうございます.
そして!再urlsファイルに追加
そして!サードパーティのウェブサイトに行ってkeyとsecretを申請しました.次に記入します(settings.py)
リダイレクトしたURL(settings.py)を書きます
ジャンプリンクをカスタマイズする必要がある場合は、LOGIN_とURLが異なる:
新しく登録されたユーザージャンプリンクは、このように定義できます.
新しい関連付けられたユーザーは、次のように定義できます.
アカウントの切断:
ユーザーが関連付けを解除した後、次のようにジャンプします.
認証と関連口座のジャンプアドレスを長めに書くと、衝突を防ぐことができます.
inactiveを定義すると、このようなユーザーは次のようにジャンプできます.
そして!元のuser modelを上書きする場合は、まず次のことを説明します.
データベースによっては、UserSocialAuthフィールドに影響を与える可能性のあるフィールド値の制限が課されます.
233(mysql)、または767(InnoDB)に変更
Association and Nonce keys:(この部分はわかりません)
他の構成は重要ではありません.必要があれば公式文書を調べて、(一番上に貼ってある)、あるいは読めないメッセージを教えてください.
ステップ1:依存関係のインストール
pip install django-social-auth
(またはeasy_installでインストールするか、cloneの後に/setupを構成するか)を参照してください.https://django-social-auth.readthedocs.org/en/latest/installing.html#get-a-copy
インストール後、必要なsettings構成が完了するとrun serverにエラーが発生します!wtfは、もともと一緒にインストールされていた最新版python-social-authが合わなかった.
git checkout tags/v0.1.9
sudo python setup.py install
このバージョンを取り出したら、インストールして、and voila!
ステップ2、構成
settings.pyに追加
INSTALLED_APPS = (
...
'social_auth'
)
加入後、データベースを同期します.(social_auth自体はいくつかのmodelsを持っています)
./manage.py syncdb
そして、サポートするサードパーティのWebサイトを追加します.
AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'social_auth.backends.contrib.douban.Douban2Backend',
'social_auth.backends.contrib.qq.QQBackend',
'social_auth.backends.contrib.weibo.WeiboBackend',
# , QQ , 。 ⬇️
#http://segmentfault.com/blog/duoduo3_69/1190000000635319
'django.contrib.auth.backends.ModelBackend',
)
上の最後の一言をなくさないでください.ありがとうございます.
そして!再urlsファイルに追加
urlpatterns = patterns('',
...
url(r'', include('social_auth.urls')),
)
そして!サードパーティのウェブサイトに行ってkeyとsecretを申請しました.次に記入します(settings.py)
TWITTER_CONSUMER_KEY = ''
TWITTER_CONSUMER_SECRET = ''
リダイレクトしたURL(settings.py)を書きます
LOGIN_URL = '/login-form/'
LOGIN_REDIRECT_URL = '/logged-in/'
LOGIN_ERROR_URL = '/login-error/'
ジャンプリンクをカスタマイズする必要がある場合は、LOGIN_とURLが異なる:
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/another-login-url/'
新しく登録されたユーザージャンプリンクは、このように定義できます.
SOCIAL_AUTH_NEW_USER_REDIRECT_URL = '/new-users-redirect-url/'
新しい関連付けられたユーザーは、次のように定義できます.
SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL = '/new-association-redirect-url/'
アカウントの切断:
SOCIAL_AUTH_DISCONNECT_REDIRECT_URL = '/account-disconnected-redirect-url/'
ユーザーが関連付けを解除した後、次のようにジャンプします.
SOCIAL_AUTH_BACKEND_ERROR_URL = '/new-error-url/'
認証と関連口座のジャンプアドレスを長めに書くと、衝突を防ぐことができます.
SOCIAL_AUTH_COMPLETE_URL_NAME = 'socialauth_complete'
SOCIAL_AUTH_ASSOCIATE_URL_NAME = 'socialauth_associate_complete'
inactiveを定義すると、このようなユーザーは次のようにジャンプできます.
SOCIAL_AUTH_INACTIVE_USER_URL = '...'# LOGIN_ERROR_URL
そして!元のuser modelを上書きする場合は、まず次のことを説明します.
SOCIAL_AUTH_USER_MODEL = 'myapp.CustomUser'
データベースによっては、UserSocialAuthフィールドに影響を与える可能性のあるフィールド値の制限が課されます.
SOCIAL_AUTH_UID_LENGTH = <int>
Association and Nonce keys:(この部分はわかりません)
他の構成は重要ではありません.必要があれば公式文書を調べて、(一番上に貼ってある)、あるいは読めないメッセージを教えてください.