Day: February 12, 2019

DjangoでSNSログイン機能を実装させる4(TwitterLogin実装まで)

DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)の続き 以下の記事を参考に進める How to Add Social Login to Django Twitter loginも実装する https://apps.twitter.com/から「Create New App」をクリック Callback URLには「http://0.0.0.0:8000/oauth/complete/twitter」と入力 PermissionsはRead-onlyとする Key and tokensタブより、Keyを取得する 備忘:コンテナログインのコマンド settings.pyに以下を追記する DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)の要領で変数を定義 login.htmlもちょっと追記 これでTwitter Loginも完成 http://0.0.0.0/login/:8000 facebookはssl化が必須みたいなので、一旦諦める、、 Login Security

DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)

DjangoでSNSログイン機能を実装させる2(Githubログイン機能実装まで)の続き お気づきと思いますが、このままではkeyがsettings.pyにベタが記されているので、以下記事を参考にdecoupleで別ファイルから呼び出すようにする How to Use Python Decouple 備忘:コンテナログインのコマンド 必要モジュールのインストール .envファイルを作成し、keyを定義する このファイルは安全に保管するべきなので、.gitignoreに記載するなどして、gitにpushしないようにする settings.pyの方は以下のように変更する 続きはDjangoでSNSログイン機能を実装させる4(TwitterLogin実装まで)

DjangoでSNSログイン機能を実装させる2(Githubログイン機能実装まで)

ここからが本番 DjangoでSNSログイン機能を実装させる1(コンテナ作成と起動まで)の続き 以下の記事を参考に、ログイン機能の実装を進める How to Add Social Login to Django コンテナに入って必要モジュールのインストール settings.pyのINSTALLED_APPS編集 DBの反映 settings.pyのMIDDLEWARE編集 settings.pyのTEMPLATES編集 settings.pyのAUTHENTICATION_BACKENDS追加 以下をsettings.pyに追記する settings.pyの変数追記 以下を追記する urls.pyの編集 views.pyの編集 templeteの作成 これで枠はできたのでGitのログイン機能から実装していく https://github.com/settings/applications/new で、Githubのkeyを取得する callback URLには「http://0.0.0.0:8000/oauth/complete/github/」を入力する settings.pyに以下を追記する これで無事にログインできる http://0.0.0.0/login/:8000 続きはこちら DjangoでSNSログイン機能を実装させる3(decoupleでKeyを安全保管するまで)

DjangoでSNSログイン機能を実装させる1(コンテナ作成と起動まで)

こういう画面で、通常ログインではなくて、SNSアカウントでログインができるように実装したい 今回は、GithubとTwitterアカウントでログインできるようにする 以下の記事を参考に進める How to Add Social Login to Django まずはDockerでコンテナを立ち上げる ほとんどこちらと同じ話 Django on Docker超入門1(ロケットの画面まで) 適当なワークディレクトリで以下のようにファイルを作成する 各ファイルの中身は以下の通り コンテナを作成 mysiteはサイトの名前なので任意の値 インデントがきちんとしていないと以下のようなエラーが出るので注意 すると、以下のようなディレクトリ構成になる settings.pyの編集をしていく コンテナを立ち上げる ここからはコンテナに入って作業する DBのマイグレート スーパーユーザーの作成 これでアクセスできるようになる http://0.0.0.0:8000 http://0.0.0.0/admin:8000 続きはこちら DjangoでSNSログイン機能を実装させる2(Githubログイン機能実装まで)