2

django userrena は、何度も何度も車輪を再発明するためのユーザー登録情報に適していると思います。

どうにかして userena を social-auth と統合したいです。しかし、私が何をしても、それらを統合することはできませんでした。

では、これら 2 つの認証システムを統合する方法について説明します。

どんなアイデアや助けもいただければ幸いです...

敬具

4

1 に答える 1

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 は、ユーザーを 1 対 1 のフィールドとして持つ抽象クラスを提供します。

一方、django-social-auth はさまざまなソーシャル サービスで認証する方法を認識しており、データベース内のテーブル auth_user に入力します。django-social-auth によって変更される他のテーブルは、django-session と social_auth_usersocialauth です。これは、django social auth が認証方法を認識し、セッションを管理し、トークンなどの追加データを集約することを意味します。

userrena を使用して追加データをユーザーに追加することだけを考えている場合、これはより単純な形式で実行できます。

次の場合はuserenaを使用すると言えます。

  • 顔写真が必要です(画像)
  • 各ユーザーに言語を追加する必要があります
  • https を使用する必要があります
  • メールでアカウントを確認する必要があります (これは、ソーシャル認証の使用と衝突しますよね?)
  • プロファイルのユーザー権限の基本的な管理が必要です。

更新: 両方の認証が必要な場合は、この素敵なプロジェクトをご覧ください。

于 2012-09-19T20:38:54.890 に答える