1

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

我四处寻找方法来做到这一点,但我的小研究没有结果。有任何想法吗?

概括:

  1. 普通用户和社交用户之间的分离(所以我可以限制社交认证用户可以做什么)
  2. 社交认证用户的会话超时
  3. 社交身份验证用户的用户表中没有添加(没有足迹)。
  4. 可选:获取他们的社交用户名和 ID 以用于日志记录。

谢谢

4

2 回答 2

1

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

于 2014-04-26T16:27:38.230 回答
0

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

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

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

于 2014-04-25T23:05:49.230 回答