迁移到Django rest框架

时间:2019-06-14 06:59:12

标签: python django django-rest-framework firebase-authentication

当前,我正在使用node作为后端,并期待将我的项目转移到django-rest-framework。在节点中,我使用了firebase-auth和MySQL,并有一个名为FIREBASE_USERS的表,其中包含emailfirebase_uid字段。我当时正在考虑为drf构建自己的自定义身份验证,但无法弄清楚使用我的FIREBASE_USERS表而不是django Users模型。我读到django提供了设置。 AUTH_USER_MODEL来设置您自己的自定义模型,但是文档使用AbstractUser类来创建它,我也不想弄乱我的表,因为这些表也用于其他项目中。任何建议,将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的自定义用户模型需要包含(1)中所述的属性。 AbstractBaseUser是实现此目的的捷径。覆盖Meta.db_table以匹配您的表名。如果这还不够,请考虑按照(2)中所述创建自己的身份验证后端,并使用您的Firebase用户的外键创建django用户。但是,为了让Django正常运行,您的用户模型需要具有(1)中所述的方法。

也许(3)解决了您的问题?

(1)https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#django.contrib.auth.models.CustomUser

(2)https://docs.djangoproject.com/en/2.2/topics/auth/customizing/#writing-an-authentication-backend

(3)https://github.com/fcornelius/django-firebase-auth