続いて、oauthによるFacebook認証。
この辺の実践感がこの講座の良いところ。
https://developers.facebook.com/
スタートガイド→Facebook for Developersアカウントを作成するところから始めます。
画面構成は講義ビデオの時からは大分変っているようですが、何とか進められます。
で、django-rest-framework-social-oauth2==1.0.4をインストールすることになっているのですが、
ImportError: No module named ‘social_django’
となります。
↓
https://teratail.com/questions/115059
pip install social-auth-app-django
↓
ImportError: No module named ‘braces’
↓
pip install django-rest-framework-social-oauth2 -U
→django-rest-framework-social-oauth2==1.1.0
↓
OK
という感じで(分かりますか(^_^;;;))、結局最新バージョンでないとライブラリ間の構成が合わないという話。
requirements.txt の記述は
django-rest-framework-social-oauth2==1.0.4
のままだけど・・・
でうまくいったかと思いきや、アプリ画面を開くと
You may need to add ‘x.x.x.x’ to ALLOWED_HOSTS. のエラー。
settings.py
のALLOWED_HOSTS に追記すれば確かに起動するようになった。
https://www.deep-blog.jp/engineer/archives/4287
しかし、これまで書いていなかったのになぜ?ちょっと気持ち悪い。
Facebook認証の流れについては、
https://stackoverflow.com/questions/18995448/rails-api-authenticate-users-from-native-mobile-apps-using-username-password-or
と同じ内容の図がもう少しきれいに書かれていて、なるほど、と思いました。
そして、ブラウザ・サーバアプリ・Facebook間でのやり取りは、アプリを作る前に試しましょうということで、POSTMAN。
このJSON大流行のこのタイミングで、このツールをぶつけてくるところがなかなか(たまたま)。
python-social-auth のPipelineの説明は、ビデオ見てると行方不明になりますが、下記になります。
https://github.com/python-social-auth/social-docs/blob/master/docs/pipeline.rst
ちょっと、Facebook認証で情報を取り出せるようになるので、GDPRが気になるところ。
個人で試しているうちは気にしなくても良いかもしれませんが、早急に考えないといけないかと思っています。
コーリー・アルソフ 日経BP社 2018-02-24 売り上げランキング : 204
|