一群懒人,连注册都不愿意。
折腾了一天终于把自己的网站加上了第三方登录。
http://u.changchen.me/accounts/login
Facebook github 和 Google 都搞定了,就差最后一个微博了,因为要等审核身份。。
最后的效果,放弃微博登陆了,因为审核完身份,
网站没有在中国备案还不能用。。也是 @#¥%&*%……
用 twitter 替代了,图标是用 Fortawesome
的图标,真是方便快捷。
整个效果是用 django-social-auth 这个插件实现的。
文档在这:http://django-social-auth.readthedocs.org/en/latest/
需要注意的几点(被各种问题折腾了一天一夜):
- 要是遇到最后一步登录失败,一定要加
http://your.domain/complete/××××××/
到各个 api 的Authorized redirect URIs
里。
所以登录后跳转最后无法登陆。 - 一定要在本地调试好再发布到网上,用 localhost 替代 127.0.0.1,放到
Authorized redirect URIs
就可以了。
适用于 window(stackoverflow 上的一个回答):How to locally debug Facebook App - 最后的时候我遇到一个 bug 折磨了我一个下午,就是 Facebook logining works perfectly locally, but redirecting to login error page in the remote.
Google 这个也没有什么好的回答,最可怕的 bug 就是没有提示的 bug 把、、
最后新建了一个 Facebook App,把 remote 和 local App 分开,竟然就可以了,也不知道是为什么。 - 还有一个问题就是如何获取邮箱,文档上说是在 setting 里加上参数
FACEBOOK_EXTENDED_PERMISSIONS = ['email']
, 然而好像并没有什么 ruan 用。再研究一下。