简单的django应用程序,允许用户登录twitter
simple-django-twitter-auth的Python项目详细描述
#简单的django twitter身份验证
简单的django twitter身份验证是向django项目添加"使用twitter登录"功能的一种显式、简单的方法。我们的目标是将控制权掌握在您的手中,并允许定制和实现,而无需翻阅一页页的文档。
##安装
pip安装简单的django twitter auth
- 转到[https://apps.twitter.com](https://apps.twitter.com)并注册尚未注册的应用程序
> UL> - 确保在"设置"页面中启用了"允许此应用程序使用Twitter登录"选项!
从您的Twitter应用程序仪表板中获取API键和API机密
在settings.py中定义以下设置 < Buff行情>
推特应用程序密钥='myappkey'twitter\u app\u secret='我的appsecret'
建议您使用环境变量,而不是在设置文件中定义机密凭据
在settings.py中定义主机 < Buff行情>
主机='https://3efed1b4.ngrok.com'
不要包含后面的反斜杠
好:https://3efed1b4.ngrok.com错误:https://3efed1b4.ngrok.com/
在settings.py中的已安装的应用程序中添加'django\u twitter\u auth'。
在根目录顶部添加以下行urls.py
< Buff行情>url(r'^twitter/',include('django_twitter auth.url',namespace='django_twitter auth'),
运行migrate安装简单django twitter auth附带的twitter配置文件模型 < Buff行情>
python manage.py迁移
就这样!您现在可以使用{%url'django_twitter auth:login'%}模板标记启动登录流。
##登录流程
- simple django twitter auth提供以下url/twitter/login/。首先,将用户指向此处。
- 您还可以使用{%url'django_twitter auth:login'%}模板标记
- 用户被重定向到twitter,在那里他们授权你的应用程序,授予它访问他们twitter个人资料的权限。
- 授权应用程序后,Twitter会将用户重定向回您的网站。简单的django twitter auth然后执行以下操作之一:
- 创建一个新的twitter配置文件和用户
- 查找现有的twitter配置文件和用户
- 查找现有的twitter配置文件和用户,并更新twitter配置文件的oauth2令牌。(如果twitter用户取消了对您应用程序的访问,然后稍后重新授权,那么simple django twitter auth只需更新访问令牌即可。)
- 简单的django twitter auth手动登录用户,并将其重定向回开始流的页面。
##部件
####TwitterProfile
简单的django twitter auth提供了一个twitter配置文件模型。此模型具有以下属性:
twitterProfile.oauth_令牌
授权期间由twitter提供的oauth2令牌。可用于代表Twitter用户使用/发布其他数据。
twitterprofile.oauth_token_secret
授权期间Twitter提供的OAuth2令牌机密。可用于代表Twitter用户使用/发布其他数据。
twitterProfile.username
用户的Twitter用户名。不包括"@"。
Trong>twitterProfile.user
每当创建一个新的twitter配置文件时,也会创建一个用户,并与twitter配置文件建立一个onetoone关系。
用户的用户名属性设置为与twitterprofile.username相同的值
简单的django twitter auth使用django.contrib.auth.get_user_model()获取当前的用户模型。
可通过user.twitterprofile进行反向查找。
##定制
####twitter_new_user_url
定义要重定向到的新用户的位置。Eg:
< Buff行情>twitter\u new\u user\u url="/welcome/"用户到达此处时已登录。
如果定义了此设置,那么在转发时,simple django twitter auth将向url参数附加一个redir_。这将包含用户从中启动登录流的url。例如,?重拨至=/welcome/
您可以捕获此参数,在完成twitter\u新用户url中定义的任何自定义逻辑之后,将用户重定向回其开始的位置。
####Twitter验证随机密码
默认值为true
当simple django twitter auth创建一个用户并将其绑定到twitter配置文件时,将为用户创建一个使用os.urandom()的随机base64编码的128位密码。这只是一种保护措施,这样就不会用空白密码创建用户。
如果需要,可以通过将twitter auth_random_password设置为false来关闭此功能。
##运行测试
可以通过调用manage.py test django_twitter auth手动运行测试
##即将推出推荐PyPI第三方库