Code4StartUp ~ UberEatsを作ろう ~ Facebook認証

Code4Startup

続いて、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が気になるところ。
個人で試しているうちは気にしなくても良いかもしれませんが、早急に考えないといけないかと思っています。

Code4Startup

by カエレバ