我认为django userena是代表一次又一次重新发明轮子的用户注册信息的不错选择。
我想以某种方式将userena与social-auth集成。但无论我做了什么,我都无法完成它们的整合。
那么如何整合这两种身份验证系统。
任何想法或帮助将不胜感激......
亲切的问候
答案 0 :(得分:3)
我无法理解你的想法。但是,请考虑到这一点:
1 Userena提供与用户连接的抽象模型。使用来自源代码的示例:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import User
from userena.models import UserenaLanguageBaseProfile
import datetime
class Profile(UserenaLanguageBaseProfile):
""" Default profile """
GENDER_CHOICES = (
(1, _('Male')),
(2, _('Female')),)
user = models.OneToOneField(User,
unique=True,
verbose_name=_('user'),
related_name='profile')
gender = models.PositiveSmallIntegerField(_('gender'),
choices=GENDER_CHOICES,
blank=True,
null=True)
website = models.URLField(_('website'), blank=True, verify_exists=True)
location = models.CharField(_('location'), max_length=255, blank=True)
birth_date = models.DateField(_('birth date'), blank=True, null=True)
about_me = models.TextField(_('about me'), blank=True)
正如您所看到的,userena提供了一个将用户作为一对一字段的抽象类。
另一方面,django-social-auth知道如何使用不同的社交服务进行身份验证,并填充数据库中的表auth_user。由django-social-auth更改的其他表是django-session和social_auth_usersocialauth。这意味着django social auth知道如何进行身份验证,处理会话并聚合额外数据(如令牌)。
如果你想到的只是使用userena向用户添加额外的数据,可以在simpler form中完成。
我可以说使用userena if:
更新:如果您想同时使用两个身份验证,请查看此nice project。