如何实现djanguserena和社会认证的集成

2024-09-30 14:33:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我认为django userena是一个很好的选择,代表着用户注册信息一次又一次地重新发明轮子。在

Authena想和社交网站整合。但无论我做了什么,我都无法将它们整合在一起。在

那么如何集成这两种认证系统呢。在

任何想法或帮助将不胜感激。。。在

谨致问候


Tags: django信息网站系统代表轮子社交用户注册
1条回答
网友
1楼 · 发布于 2024-09-30 14:33:16

我不太明白你在想什么。但是,要考虑到:

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\u auth_usersocialauth。这意味着django social auth知道如何进行身份验证、处理会话并聚合诸如令牌之类的额外数据。在

如果您想要的只是使用userena向用户添加额外的数据,那么可以在simpler form中完成。在

如果:

  • 你需要照片(图片)
  • 你需要为每个用户添加语言
  • 你需要使用https
  • 你需要通过电子邮件确认账户(这有点与使用社交认证相冲突,不是吗?)在
  • 需要一些配置文件的用户权限的基本管理。在

更新:如果您想同时拥有两个身份验证,请看一下这个nice project。在

相关问题 更多 >