在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/。

スクリーンショット 2020-04-19 21.14.38.png

将会显示如上画面。

然后,访问http://localhost:8000/api/auth/users/。

スクリーンショット 2020-04-19 22.07.58.png

会显示如上所述的用户信息列表。

只需这一个步骤,基本认证功能就已经安装完成了。

广告
将在 10 秒后关闭
bannerAds