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

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

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

瀏覽:343日期: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久久,三上悠亚国产精品一区二区三区
日韩精品午夜视频| 国产99亚洲| 成人国产精品久久| 国产精品美女午夜爽爽| 欧美一区91| 乱人伦精品视频在线观看| 午夜欧美在线| 在线亚洲激情| 亚洲激情久久| 一区久久精品| 综合一区av| 91麻豆精品激情在线观看最新| 亚洲精品伦理| 亚洲综合色婷婷在线观看| 天堂成人免费av电影一区| 国产亚洲在线| 在线视频亚洲欧美中文| 日韩有码av| 国产精品2区| 日本久久综合| 99视频精品全部免费在线视频| av一区在线| 欧美精品自拍| 亚洲激情不卡| 青青草91视频| 日韩高清欧美| 三级欧美韩日大片在线看| 亚洲精品一二三**| 欧美精品福利| 91精品国产乱码久久久久久久| 欧美日韩国产高清电影| 色狠狠一区二区三区| 日韩av专区| 日韩一区二区三区精品视频第3页| 麻豆国产91在线播放| 日韩国产一二三区| 日韩有吗在线观看| 狠狠久久伊人中文字幕| 国产精品v亚洲精品v日韩精品| 久久久久久久久久久妇女| 欧美va天堂| 国产日产一区| 蜜桃视频欧美| 日韩不卡一区二区三区| 日韩中文在线电影| 日韩一区免费| 久久亚洲国产精品尤物| 国产精品视频一区二区三区| 日本少妇一区二区| 国产成人精品免费视| 综合国产视频| 99久久久久| 亚洲国产成人二区| 亚洲精品在线国产| 欧美日韩一区二区综合| 亚洲精品.com| 久久www成人_看片免费不卡| 国产精品婷婷| 91精品韩国| 麻豆久久一区二区| 蜜桃久久久久久| 91久久国产| 日韩欧美一区二区三区在线观看| 国产探花一区| 亚洲男人在线| 99国产成+人+综合+亚洲欧美| 国产一区二区三区久久| 欧美午夜三级| 激情婷婷综合| 日韩av免费大片| 日日夜夜免费精品| 日韩中文字幕区一区有砖一区 | 亚洲精选久久| 国产精品美女久久久| 亚洲电影在线| 玖玖玖国产精品| 国产精东传媒成人av电影| 国产亚洲人成a在线v网站| 国产午夜精品一区在线观看| 91成人精品观看| 国产乱子精品一区二区在线观看| 国产福利一区二区精品秒拍| 亚洲精品va| 日本不卡免费高清视频在线| 欧美日韩水蜜桃| 日韩福利视频导航| 91综合视频| 亚洲在线国产日韩欧美| 日本午夜精品视频在线观看| 精品91福利视频| 99精品视频在线| 亚洲性色av| 亚洲人成亚洲精品| 精品久久99| 国产成人精品一区二区免费看京| 久久久久久久欧美精品| 麻豆传媒一区二区三区| 国产激情在线播放| 国产欧美一区| 久久亚洲风情| 水野朝阳av一区二区三区| 国产精品成久久久久| 日本视频一区二区| 久久国产婷婷国产香蕉| 日本免费在线视频不卡一不卡二| 日韩av影院| 国产白浆在线免费观看| 精品国产a一区二区三区v免费| 久久久久国产| 亚洲免费影视| 国际精品欧美精品| 久久亚洲人体| 国产精品久久久久蜜臀| 成人在线免费观看91| 国产精品高颜值在线观看| 欧美大黑bbbbbbbbb在线| 婷婷成人av| 日韩毛片视频| 91成人在线| 一区二区国产在线| 久久国产生活片100| 久久久91麻豆精品国产一区| 国产一区二区色噜噜| 中文字幕成在线观看| 色爱综合网欧美| 一级成人国产| 蜜桃视频欧美| 欧美二三四区| 99在线|亚洲一区二区| 国产福利资源一区| 欧美三级网址| 亚洲日本免费电影| 国产精品久久久久av电视剧| 爽好多水快深点欧美视频| 国产经典一区| 日韩一区二区三区四区五区| 亚洲国产一区二区在线观看| 激情综合激情| 99久久亚洲精品| 亚洲最新av| 在线看片福利| 欧美在线看片| 亚洲成人免费| 91视频一区| 国产精品99精品一区二区三区∴| 日韩亚洲国产欧美| 久久久国产精品一区二区中文| 国产精品成人a在线观看| 久久在线视频免费观看| 色爱av综合网| 国产一区二区三区不卡视频网站 | 久久xxxx精品视频| www.com.cn成人| 日韩精品一页| 久久国产88| 在线一区视频| 国产精品呻吟| 亚洲精选成人| 国产乱码精品一区二区三区亚洲人 | 国产精品成人3p一区二区三区| 亚洲主播在线| 国产精品99久久久久久董美香| 久久亚洲欧美| 在线亚洲激情| 神马日本精品| 日本高清不卡一区二区三区视频| 欧美精品1区| 欧美亚洲自偷自偷| 中文字幕av一区二区三区四区| 欧美日中文字幕| 黑人精品一区| 精品丝袜在线| 911精品国产| 亚洲精品无吗| 麻豆精品久久久| 久久字幕精品一区| 成人看片网站| 亚洲一区区二区| 69精品国产久热在线观看| 亚洲一区资源| 成人影视亚洲图片在线| 99精品小视频| 久久国产影院| 日本伊人午夜精品| 日本在线视频一区二区| 亚洲v天堂v手机在线| 亚洲精品免费观看| 国产欧美一区二区三区精品观看| 国产一区二区三区四区二区| 日韩午夜在线| 亚洲精品一级二级| 亚洲免费资源| 国产精品精品国产一区二区| 99精品小视频| 91精品国产经典在线观看| 91精品一区国产高清在线gif| 日韩激情综合| 日本а中文在线天堂| 日韩在线观看一区二区三区| 日韩88av|