jwt 身份验证

JWT注册登入

第一步::

将首先配置setting

########### 1、在INSTALLED_APPS中加入'rest_framework.authtoken', ################# INSTALLED_APPS = [ ''' 'rest_framework.authtoken', ''' ]

################### 2、配置jwt验证 ###################### REST_FRAMEWORK = {

# 身份认证

'DEFAULT_AUTHENTICATION_CLASSES': ( ​ 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ​ 'rest_framework.authentication.SessionAuthentication', ​ 'rest_framework.authentication.BasicAuthentication', ​ ),

#全局配置JWT验证设置 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), }

import datetime

JWT_AUTH = { 'JWT_AUTH_HEADER_PREFIX': 'JWT', 'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1), 'JWT_RESPONSE_PAYLOAD_HANDLER': 'users.views.jwt_response_payload_handler', # 重新login登录返回函数 } AUTH_USER_MODEL='users.User' # 指定使用users APP中的 model中的表

第二步::

写注册接口

第三步:: 登入

def jwt_response_payload_handler(token, user=None, request=None):
    '''
    :param token: jwt生成的token值
    :param user: User对象
    :param request: 请求
    '''
    return {
        'token': token,
        'user': user.username,
        'userid': user.id,
        'password': user.password
    }
    
    并且将settings中的重新登入返回函数改成自己的子应用下的views
    然后再url中导入
    from rest_framework_jwt.views import obtain_jwt_token包   给这个包写个路由 使用它登入
   
   
​

第三步:::

登入之后会返回一个token 使用这个token进行全局配置 需要在views中导报

from rest_framework.permissions import IsAuthenticated, AllowAny

IsAuthenticated 只有携带token值才能访问 ,AllowAny 所有人都可以访问

然后再headers中添加 token值 key(Authorization ) values(JWT token值)

上一篇:C#1.0~10.0特性总结


下一篇:Android Framework实战开发-binder通信常见元素介绍及binder双向通信的实现