一种灵活的用于firebase认证的django-rest框架认证后端

drf-firebase-authentication的Python项目详细描述


django rest framework firebase身份验证

这个包为django rest框架提供了一个基本的firebase身份验证后端类。两个关键方法没有实现更大的灵活性。让我们keep it simple, stupid

要求

安装

pip install drf-firebase-authentication

用法

1.子类BaseFirebaseAuthentication并实现其模板方法:

通过相应地实现.get_django_user()方法,自己决定如何将firebase用户与本地django用户相关联。

把你的代码放入一个authentication.py文件中,这个文件位于一个专门用于你的项目rest api的应用程序中。

fromdrf_firebase.authenticationimportBaseFirebaseAuthenticationfromfirebase_adminimportcredentials,initialize_appfromdjango.contrib.authimportget_user_modelfirebase_creds=credentials.Certificate('path/to/firebase/credentials.json')firebase_app=initialize_app(firebase_creds)classFirebaseAuthentication(BaseFirebaseAuthentication):"""	Example implementation of a DRF Firebase Authentication backend class	"""defget_firebase_app(self):returnfirebase_appdefget_django_user(self,firebase_user_record):returnget_user_model().objects.get_or_create(username=firebase_user_record.uid,)[0]

2.将刚刚创建的firebase身份验证后端添加到您的settings.py

YOUR_RESTAPI_APP替换为放入authentication.py文件的应用程序。

REST_FRAMEWORK={'DEFAULT_AUTHENTICATION_CLASSES':('rest_framework.authentication.SessionAuthentication',# default'rest_framework.authentication.BasicAuthentication',# default'YOUR_RESTAPI_APP.authentication.FirebaseAuthentication',),}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java MongoOperations Upert/FindModify删除mongo中的所有字段   java括号中的二叉树,而!=空值无效   java com.*.*.**。安全CustomUserDetail无法强制转换为com。***。安全CustomUserDetail   java如何编写多线程算法来发现可用socket   java Spring Boot Solr:子文档的索引列表   java如何向maven shade插件添加外部jar文件   java zebra条形码扫描仪Android studio集成   java为什么一个地方的原始类型会导致其他地方的通用调用站点被视为原始类型?   java将swing控件拆分为相等的部分   java如何在jshell中为spring项目设置类路径   java关于如何从API级别19的时间选择器中删除此白边的提示?   存储二进制字符串所有可能序列的算法,Java   测试JUnitJava。lang.NullPointerException   java Google AppEngine数据库   JavaSpring如何向数据对象注入@Value?   在eclipse java项目中包含mavenant构建库   带有JSP/EL的java省略号(缩写文本)