在Django REST Framework中使用djoser实现认证功能
djoser 是指
djoser是一个在Django REST框架上支持基本用户认证、注册和其他身份认证的库。它可用于自定义模型,并旨在创建适合单页应用(SPA)的架构,而不是重新使用Django的代码。
这次将介绍有关djoser最简单的认证功能的实现。
请注意,由于安全方面的考虑,此认证应不太适合实际使用,并且有更强大的安全设置,如以下的JWT认证。
仅作为简便的认证进行介绍。
这里提供了有关JWT认证设置的说明。
源代码在这里。
另外,以下所有内容在引入后都可以用作终端点。
/用户/
/用户/我/
/用户/确认/
/用户/重新发送激活/
/用户/设置密码/
/用户/重置密码/
/用户/确认重置密码/
/用户/设置用户名/
/用户/重置用户名/
/用户/确认重置用户名/
/令牌/登录/(令牌验证)
/令牌/登出/(令牌验证)
/JSON Web Token/创建/(JSON Web Token验证)
/JSON Web Token/刷新/(JSON Web Token验证)
/JSON Web Token/验证/(JSON Web Token验证)
入门指南
使用方法
首先从安装开始。
$ pip install -U djoser
首先创建项目。
$ django-admin startproject simple_djoser_authentication
我会在项目中移动。
$ cd simple_djoser_authentication
我们将进行Django的配置。
.........
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework', # add
'djoser' # add
]
from django.contrib import admin
from django.urls import path,include #add
urlpatterns = [
path('admin/', admin.site.urls),
path('api/auth/',include('djoser.urls')), #add
]
就这么多了。
接下来执行迁移,并创建Admin用户,然后在本地启动。
$ python manage.py migrations
$ python manage.py createsuperuser
Username: Admin
Email address: xxx@email.com
Password:***********
$ python manage.py runserver
然后,访问http://localhost:8000/api/auth/。
将会显示如上画面。
然后,访问http://localhost:8000/api/auth/users/。
会显示如上所述的用户信息列表。
只需这一个步骤,基本认证功能就已经安装完成了。