中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

unity3d做網(wǎng)站網(wǎng)絡(luò)營銷的營銷方式是什么

unity3d做網(wǎng)站,網(wǎng)絡(luò)營銷的營銷方式是什么,安福網(wǎng)站制作,商務(wù)網(wǎng)站模板JWT(JSON Web Token)是一種用于實(shí)現(xiàn)身份驗(yàn)證和授權(quán)的開放標(biāo)準(zhǔn)。它是一種基于JSON的安全傳輸數(shù)據(jù)的方式,由三部分組成:頭部、載荷和簽名。 使用jsonwebtoken模塊,你可以在Node.js應(yīng)用程序中輕松生成和驗(yàn)證JWT。以下是j…

JWT(JSON Web Token)是一種用于實(shí)現(xiàn)身份驗(yàn)證和授權(quán)的開放標(biāo)準(zhǔn)。它是一種基于JSON的安全傳輸數(shù)據(jù)的方式,由三部分組成:頭部、載荷和簽名。

使用jsonwebtoken模塊,你可以在Node.js應(yīng)用程序中輕松生成和驗(yàn)證JWT。以下是jsonwebtoken庫的使用步驟:

  1. 安裝jsonwebtoken模塊:在命令行中運(yùn)行npm install jsonwebtoken來安裝jsonwebtoken模塊。

  2. 導(dǎo)入jsonwebtoken模塊:在你的Node.js應(yīng)用程序中,使用require語句導(dǎo)入jsonwebtoken模塊。

const jwt = require('jsonwebtoken');
  1. 生成JWT:使用jsonwebtoken的sign方法生成JWT。該方法接受三個(gè)參數(shù):載荷(Payload)、密鑰和可選的配置對(duì)象。載荷是一個(gè)包含有關(guān)用戶/客戶端的信息的對(duì)象。
const payload = {userId: '123456789',username: 'example_user'
};const secretKey = 'your_secret_key';const token = jwt.sign(payload, secretKey, { expiresIn: '1h' });

上述代碼將生成一個(gè)JWT,其中包含了userId和username信息,使用了一個(gè)密鑰進(jìn)行簽名,并設(shè)置了過期時(shí)間為1小時(shí)。生成的JWT將作為一個(gè)字符串存儲(chǔ)在token變量中。

  1. 驗(yàn)證JWT:使用jsonwebtoken的verify方法驗(yàn)證JWT的有效性。該方法接受三個(gè)參數(shù):要驗(yàn)證的JWT、密鑰和一個(gè)可選的回調(diào)函數(shù)。
const token = 'your_generated_jwt';jwt.verify(token, secretKey, (err, decoded) => {if (err) {// JWT驗(yàn)證失敗console.log('JWT verification failed.');} else {// JWT驗(yàn)證成功console.log('JWT verified successfully.');console.log(decoded); // 解碼后的JWT負(fù)載}
});

上述代碼將驗(yàn)證傳入的JWT是否有效,并使用提供的密鑰進(jìn)行簽名驗(yàn)證。如果JWT有效,verify方法回調(diào)函數(shù)中的decoded參數(shù)將包含解碼后的JWT負(fù)載信息。如果JWT無效,則會(huì)在回調(diào)函數(shù)中得到一個(gè)錯(cuò)誤。

以下是 JWT 的一個(gè)簡(jiǎn)單的封裝:

//jsonwebtoken 封裝const jsonwebtoken = require("jsonwebtoken")
// 設(shè)置密鑰
const secret = "anydata"
const JWT = {// 生成 tokengenerate(value,exprires){// value 數(shù)據(jù),expires 過期時(shí)間return jsonwebtoken.sign(value,secret,{expiresIn:exprires})},// 校驗(yàn) tokenverify(token){// 放在 try...catch... 中,防止報(bào)錯(cuò)try{return jsonwebtoken.verify(token,secret)}catch(error){return false}}
}module.exports = JWT
const token = JWT.generate('xx', '10s')
// eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjoieHgiLCJpYXQiOjE2OTc0Mzk3MTEsImV4cCI6MTY5NzQzOTcyMX0.vfcaK_tHfbD-58nqcDRopg516jngqWJhw6zr229zACM
// header.數(shù)據(jù).簽名
console.log(JWT.verify(token))
// node 中間件校驗(yàn)
app.use((req,res,next)=>{// 如果token有效 ,next() // 如果token過期了, 返回401錯(cuò)誤if(req.url==="/login"){next()return;}const token = req.headers["authorization"]?.split(" ")[1]if(token){var payload = JWT.verify(token)// console.log(payload)if(payload){const newToken = JWT.generate({_id:payload._id,username:payload.username},"1d")res.header("Authorization",newToken)next()}else{// errCode 和 errInfo 是 network 的 preview 中返回的數(shù)據(jù)res.status(401).send({errCode:"-1",errInfo:"token過期"})}}
})
 //生成token
const token = JWT.generate({_id: result[0]._id,username: result[0].username
}, "1d")res.header("Authorization", token)
//前端攔截
import axios from 'axios'
// Add a request interceptor
axios.interceptors.request.use(function (config) {const token = localStorage.getItem("token")config.headers.Authorization = `Bearer ${token}`return config;}, function (error) {return Promise.reject(error);});// Add a response interceptor
axios.interceptors.response.use(function (response) {const {authorization } = response.headersauthorization && localStorage.setItem("token",authorization)return response;}, function (error) {const {status} = error.responseif(status===401){// 移除本地失效的 token 值,由于過期而失效localStorage.removeItem("token")window.location.href="/login"}return Promise.reject(error);});

業(yè)務(wù)邏輯:

  1. 后端下載、導(dǎo)入模塊 npm i jsonwebtoken
  2. 封裝生成token、驗(yàn)證token方法
  3. 登錄接口中將前端提供的字段生成token并放到登錄接口響應(yīng)頭中
  4. 前端將token存儲(chǔ)(并在每個(gè)請(qǐng)求的請(qǐng)求頭中加入token,請(qǐng)求攔截添加token,響應(yīng)攔截存儲(chǔ)token)
  5. 后端設(shè)置應(yīng)用級(jí)中間件
    5.1. 排除登錄接口、路由
    5.2. 獲取前端傳過來的請(qǐng)求頭并判斷狀態(tài)
    5.2.1. 有token:重新設(shè)置token并放在響應(yīng)頭傳給前端(刷新過期時(shí)間)
    5.2.2. 無token:返回401給前端
  6. 前端響應(yīng)攔截:無401跳轉(zhuǎn)登錄頁并置空本地token
http://www.risenshineclean.com/news/59520.html

相關(guān)文章:

  • 訪問國外網(wǎng)站 速度慢最近的新聞大事20條
  • 重慶網(wǎng)站推廣公司百度如何發(fā)布作品
  • 微信版網(wǎng)站開發(fā)seo是什么級(jí)別
  • 獨(dú)立站代運(yùn)營公司站長(zhǎng)統(tǒng)計(jì)ios
  • 建設(shè)部網(wǎng)站如何登錄監(jiān)理工程師最新熱搜新聞事件
  • 做淘寶主要看哪些網(wǎng)站網(wǎng)絡(luò)營銷名詞解釋
  • 做網(wǎng)站顯示上次登錄時(shí)間代碼手機(jī)百度搜索app
  • wordpress關(guān)閉搜索功能搜索引擎優(yōu)化人員優(yōu)化
  • 怎樣注冊(cè).com網(wǎng)站app用戶量排名
  • 網(wǎng)站開發(fā)軟件培訓(xùn)seo網(wǎng)絡(luò)培訓(xùn)班
  • b2b網(wǎng)站怎么發(fā)布信息微營銷
  • 東方網(wǎng)站建設(shè)百度打開百度搜索
  • 網(wǎng)站建設(shè)技術(shù)服務(wù)公司白度指數(shù)
  • wordpress還原站點(diǎn)設(shè)計(jì)網(wǎng)站用什么軟件
  • 深圳做手機(jī)網(wǎng)站建設(shè)seo優(yōu)化包括什么
  • 什么店是做網(wǎng)站制作的今天最火的新聞?lì)^條
  • 紹興免費(fèi)做網(wǎng)站專業(yè)搜索引擎seo服務(wù)
  • 廣告體驗(yàn)程序網(wǎng)站開發(fā)快速排名方案
  • 建設(shè)網(wǎng)站各方面費(fèi)用預(yù)算網(wǎng)絡(luò)宣傳
  • 購物網(wǎng)站建設(shè)比較好的知乎關(guān)鍵詞排名優(yōu)化工具
  • 網(wǎng)站后臺(tái)怎么修改前臺(tái)的某個(gè)超鏈接網(wǎng)址常州seo招聘
  • 勝芳網(wǎng)站建設(shè)qiansi湖南靠譜的關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站比特幣錢包淘寶關(guān)鍵詞優(yōu)化推廣排名
  • 嘉興市建設(shè)委員會(huì)網(wǎng)站seo實(shí)戰(zhàn)視頻
  • 黃浦網(wǎng)站制作seo國外推廣軟件
  • 做照片的網(wǎng)站有哪些seo網(wǎng)站關(guān)鍵詞排名優(yōu)化
  • 國外黑客網(wǎng)站成都多享網(wǎng)站建設(shè)公司
  • 做網(wǎng)站 幫別人賣服務(wù)器地推拉新接單網(wǎng)
  • 開發(fā)網(wǎng)站比較好的公司廈門人才網(wǎng)597人才網(wǎng)
  • 響應(yīng)式網(wǎng)站建設(shè)報(bào)價(jià)單百度信息流投放在哪些平臺(tái)