在前后端分离项目中,用到最常用的认证方式就是JWT方式了,关于jwt的介绍我我就不讲了,网上一搜一大堆,下面直接进入正题
前提:

  • 创建相关用户数据模型
  • 安装djangorestframework
  • 序列化user模型

手写JWT方式认证

关于手写jwt,其实就是利用pyjwt生成token,通过修改rest_framework.authenticationBaseAuthentication方法完成,

安装pyjwt

pip install pyjwt

在app中创建一个authentications.py文件,修改rest_framework.authenticationBaseAuthentication方法

此处内容需要评论回复后(审核通过)方可阅读。

在视图中直接使用我们创建的这个方法
此处内容需要评论回复后(审核通过)方可阅读。

最后urls.py中加上就行了

使用djangorestframework-jwt

安装

pip install djangorestframework-jwt

setting.py中配置相关

REST_FRAMEWORK = {
    # 'DEFAULT_PERMISSION_CLASSES': (
    #     'rest_framework.permissions.IsAuthenticated',
    # ),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ),
}

在视图中我们直接使用手动生成令牌

此处内容需要评论回复后(审核通过)方可阅读。

OK了 以后前端访问数据,直接携带token就行了

本文作者:博主:
文章标题:djangorestframework-jwt登录方式和手写jwt登录方式
本文地址:https://www.wouldmissyou.com/archives/24/     
版权说明:若无注明,本文皆为“多点部落”原创,转载请保留文章出处。
最后修改:2021 年 01 月 14 日 02 : 48 PM
如果觉得我的文章对你有用,请随意赞赏