首页 > 解决方案 > 迁移到 Django REST 框架

问题描述

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

标签: pythondjangodjango-rest-frameworkfirebase-authentication

解决方案


您的自定义用户模型需要包含 (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


推荐阅读