Zero Footprint Python-Social-Auth身份验证

时间:2014-04-25 19:34:41

标签: python django oauth oauth-2.0 python-social-auth

我的网站有常规用户使用django默认用户模型,但对于一个特定功能,我希望人们能够使用python-social-auth使用他们的社交帐户(twitter,fb..etc)登录而无需这些登录使用用户模型保存在数据库中(没有创建帐户,无法执行某些正常的用户任务)和会话超时。

我环顾四周寻找方法,但我的小研究没有成果。有什么想法吗?

要点:

  1. 普通用户和社交用户之间的分离(因此我可以限制社交用户可以做的事情)
  2. 社交身份验证用户的会话超时
  3. 社交身份验证用户的User表中没有添加(无足迹)。
  4. 可选:获取用于记录目的的社交用户名和ID。
  5. 由于

2 个答案:

答案 0 :(得分:1)

您可以通过添加python-social-auth设置为SOCIAL_AUTH_USER_MODEL添加自定义用户模型来区分社交用户。检查http://psa.matiasaguirre.net/docs/configuration/settings.html#user-model

上的设置文档

答案 1 :(得分:0)

我会尝试使用django.contrib.auth.models.Groupdjango.contrib.auth.models.Permission来解决此问题。创建一个具有应用程序功能自定义权限的通用组,并将所有普通用户添加到该组中。

保存python-social-auth在默认django.contrib.auth.models.User中创建的帐户,但创建没有任何权限的单独群组。

如果有必要,创建一些计划任务(使用cronjob或Celery),这些任务将通过用户并停用/删除已过期的任务。