日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Django如何使用jwt獲取用戶信息

瀏覽:350日期:2024-10-10 09:44:42

HTTP請求是無狀態的,我們通常會使用cookie或session對其進行狀態保持,cookie存儲在客戶端,容易被用戶誤刪,安全性不高,session存儲在服務端,在服務器集群情況下需要解決session不共享的問題,常用的解決方案有4種:客戶端Cookie保存、服務器間Session同步、使用集群管理Session、把Session持久化到數據庫。

jwt:json web token

在用戶注冊登錄后,記錄用戶登錄狀態,我們可以用cookie和session來做狀態保持,cookie存儲在客戶端,安全性低,session存儲在服務器端,安全性高,但是在分布式架構中session不能同步化,所以我們用jwt來驗證接口安全

組成:頭部 載荷 簽證

Jwt服務端不需要存儲token串,用戶請求時攜帶著經過哈希加密和base64編碼后的字符串過來,服務端通過識別token值判斷用戶信息、過期時間等信息,在使用期間內不可能取消令牌或更改令牌權限。

jwt的安裝與配置

# 安裝 pip install djangorestframework-jwtFrom rest_framework_jwt.authentication import JSONWebTokenAuthenticationSettings.pyINSTALLED_APPS = [ ’’’ ’rest_framework.authtoken’, ’’’]################### 2、配置jwt驗證 ######################REST_FRAMEWORK = { # 身份認證 ’DEFAULT_AUTHENTICATION_CLASSES’: ( ’rest_framework_jwt.authentication.JSONWebTokenAuthentication’, ’rest_framework.authentication.SessionAuthentication’, ’rest_framework.authentication.BasicAuthentication’, ),}import datetimeJWT_AUTH = { ’JWT_AUTH_HEADER_PREFIX’: ’JWT’, ’JWT_EXPIRATION_DELTA’: datetime.timedelta(days=1),}AUTH_USER_MODEL=’app.User’ # 指定使用APP中的 model User進行驗證

在django中,我們用內置的User表做登錄功能

from rest_framework_jwt.views import obtain_jwt_token # 驗證密碼后返回tokenurlpatterns = [ re_path(r’v1/login/$’, obtain_jwt_token,name=’login’), # 用戶登錄后返回token]

前端獲取到token并且setitem

var token = ’JWT ’ + data.tokenlocalStorage.setItem(’token’, token);

在我們封裝的攔截器里有請求攔截器和響應攔截器,需要在每次發起請求的時候獲取token

import Axios from ’axios’import { Toast } from ’vant’;import URLS from ’../../config/urls’ //1、使用自定義配置新建一個 axios 實例const instance = Axios.create({ baseURL: URLS.API_URL, responseType: ’json’,}); //2、添加請求攔截器:每次發送請求就會調用此攔截器,添加認證tokeninstance.interceptors.request.use( config => { //發送請求前添加認證token, console.log(localStorage.getItem(’token’)) config.headers.Authorization = localStorage.getItem(’token’); # 獲取token // config.headers.Authorization = sessionStorage.getItem(’token’) return config }, err => { return Promise.reject(err) }); // 3、響應攔截器instance.interceptors.response.use( response => { if (response.status === 200) { return Promise.resolve(response); } else { return Promise.reject(response); } }, // 服務器狀態碼不是200的情況 error => { if (error.response.status) { switch (error.response.status) {// 401: 未登錄// 未登錄則跳轉登錄頁面,并攜帶當前頁面的路徑// 在登錄成功后返回當前頁面,這一步需要在登錄頁操作。case 401: router.replace({ path: ’/login’, query: { redirect: router.currentRoute.fullPath } }); break;// 403 token過期// 登錄過期對用戶進行提示// 清除本地token和清空vuex中token對象// 跳轉登錄頁面case 403: Toast({ message: ’登錄過期,請重新登錄’, duration: 1000, forbidClick: true }); // 清除token localStorage.removeItem(’token’); store.commit(’loginSuccess’, null); // 跳轉登錄頁面,并將要瀏覽的頁面fullPath傳過去,登錄成功后跳轉需要訪問的頁面 setTimeout(() => { router.replace({ path: ’/login’, query: {redirect: router.currentRoute.fullPath } }); }, 1000); break;// 404請求不存在case 404: Toast({ message: ’網絡請求不存在’, duration: 1500, forbidClick: true }); break;// 其他錯誤,直接拋出錯誤提示default: Toast({ message: error.response.data.message, duration: 1500, forbidClick: true }); } return Promise.reject(error.response); } }); export default instance

這樣即完成了jwt接口安全的認證

那么在python后端如何去獲取jwt并提取我們需要的信息呢?

from rest_framework_jwt.authentication import JSONWebTokenAuthentication from rest_framework.views import exception_handlerfrom rest_framework_jwt.utils import jwt_decode_handler# 獲取登陸的用戶 token = request.META.get(’HTTP_AUTHORIZATION’)[4:] token_user = jwt_decode_handler(token) user_id = token_user[’user_id’] # 獲取用戶id這個方法不用在前端封裝getitem token 或者從前端傳過來token然后獲取.vuevar formdata = { id : this.$route.params.id, // 獲取/id // this.$route.query.subid 獲取?subid=id token: localStorage.getItem(’token’), } postCreate(formdata).then(resp=>{ console.log(resp) alert(resp.mes) }).catch(err=>{ alert(err) console.log(err) }) }python views.pydef post(self,request): data = request.data # 獲取post方法的數據 # print(data) token = data.get(’token’)[4:] toke_user = jwt_decode_handler(token) user_id = toke_user[’user_id’] def get(self,request):data = request.query_params # 獲取get方法的參數

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区三区亚洲综合| 亚洲精选久久| 日本欧美韩国一区三区| 在线免费观看亚洲| 日韩av不卡在线观看| 日韩88av| 免费黄色成人| 日韩欧美高清一区二区三区| 欧美一区自拍| 国产一区二区三区四区五区| 婷婷激情一区| 综合亚洲视频| 久久影院午夜精品| 另类av一区二区| 久久a爱视频| 亚洲黑丝一区二区| 日本a口亚洲| 国产suv精品一区二区四区视频| 麻豆视频在线看| 亚洲欧洲一区| 国产美女撒尿一区二区| sm久久捆绑调教精品一区| 啪啪国产精品| 亚洲精品观看| 久久精品高清| 麻豆91精品视频| 综合激情视频| 99久久精品网站| 国产精品17p| 免费在线成人网| 免费福利视频一区二区三区| 亚洲精品免费观看| 91日韩在线| 国产精品2区| 天堂俺去俺来也www久久婷婷| 婷婷激情一区| 国产一区二区三区四区五区| 日本亚洲最大的色成网站www | 亚洲精品麻豆| 欧美日韩在线网站| 9999国产精品| 精品久久久久中文字幕小说| 亚州国产精品| 亚洲二区精品| 亚洲播播91| 欧美丰满日韩| 久草免费在线视频| 国产精品原创| 成人国产精品一区二区网站| 国产探花一区| 国产精品18| 成人在线视频中文字幕| 国产 日韩 欧美 综合 一区| 精品久久美女| 久久精品理论片| 国产精品大片| caoporn视频在线| 国产综合色区在线观看| 91亚洲国产成人久久精品| 国产成人精品一区二区三区在线| 麻豆一区二区三| 国产精品成人一区二区不卡| 久久久久久久欧美精品| 国产三级一区| 国产一区二区三区不卡视频网站| 国产激情欧美| 黑森林国产精品av| 日韩精品免费一区二区在线观看| 国产传媒av在线| 亚洲激情不卡| 国产日韩一区二区三免费高清 | 你懂的国产精品| а√天堂8资源中文在线| 日韩中文首页| 免费成人在线观看| 清纯唯美亚洲综合一区| 97欧美在线视频| 热久久免费视频| 九九99久久精品在免费线bt| 久久久精品久久久久久96 | 日韩国产一区二区三区| 亚洲一区欧美二区| 国产精品久一| 欧美日韩精品在线一区| 亚洲天堂av资源在线观看| 国产精品sss在线观看av| 亚洲激情婷婷| 国产一区二区三区视频在线| 国产在线不卡| 国产精品啊v在线| 日韩一级网站| 久久免费视频66| 日韩三级久久| 波多野结衣一区| 国产精品高清一区二区| 欧美日韩激情| 中文av在线全新| 911精品国产| 欧美影院三区| 精品久久免费| 欧美综合精品| 亚洲毛片一区| 首页国产欧美日韩丝袜| 97精品国产福利一区二区三区| 亚洲人妖在线| 日韩中文字幕不卡| 亚洲福利精品| 日韩理论片av| 在线天堂中文资源最新版| 国产精品久久久久9999高清| 蜜芽一区二区三区| 狠狠干综合网| 亚洲精品小说| 欧美日韩水蜜桃| 欧美三级精品| 午夜精品成人av| 欧美中文一区二区| 91久久久精品国产| 韩国精品主播一区二区在线观看 | 日韩成人精品一区二区| 国产精品一区亚洲| 久久国产精品美女| 免费在线亚洲| 欧美黑人巨大videos精品| 欧美日韩一区二区国产| 日韩精品视频在线看| 天海翼亚洲一区二区三区| 亚洲精品欧美| 国产欧美一区| 激情久久99| 欧美日韩一二三四| 久久不射中文字幕| 日韩av一区二| 国产精品久久久久久久久久妞妞| 久久久国产精品网站| 鲁鲁在线中文| 视频一区二区中文字幕| 日韩avvvv在线播放| 国产精品v亚洲精品v日韩精品| 久久国产精品免费精品3p | 久久福利一区| 国产毛片一区二区三区| 国产成人免费视频网站视频社区| 欧美91福利在线观看| 日韩国产欧美在线视频| 国产资源在线观看入口av| 亚洲在线电影| 欧美黑人巨大videos精品| 国产综合视频| 国产激情久久| 蜜桃一区二区三区| 国产剧情一区二区在线观看| 久久久久欧美精品| 欧美一级二级三级视频| 日韩在线观看不卡| 国产欧美午夜| 久久在线电影| 久久久91麻豆精品国产一区| 国产精品人人爽人人做我的可爱| 国产精品久久久久久妇女| 婷婷综合亚洲| 精品久久一区| 88久久精品| 免费日韩av片| 香蕉成人av| 91精品国产自产观看在线| 精品在线91| 视频二区不卡| 国产精品.xx视频.xxtv| 日韩精选在线| 久久夜色精品| 午夜视频精品| 美女毛片一区二区三区四区| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 精精国产xxxx视频在线野外| 日韩精品欧美大片| 蜜臀av在线播放一区二区三区| 国产网站在线| 国产精品一区二区三区美女| 亚洲69av| 日本一区二区三区视频在线看 | 亚洲一区二区毛片| 亚洲女同中文字幕| 激情偷拍久久| 99久久久久| 1024精品一区二区三区| 久久香蕉国产| 性欧美xxxx免费岛国不卡电影| 性感美女一区二区在线观看| 日韩一区电影| 久久蜜桃av| 国产亚洲亚洲| 婷婷亚洲五月色综合| 亚洲精品午夜av福利久久蜜桃| 欧美日韩免费观看一区=区三区| 激情久久久久久久| 免费中文字幕日韩欧美| 日韩欧美久久| 免费观看亚洲天堂| 在线天堂资源www在线污|