1.伺服器端安裝jsonwebtoken
2.伺服器端使用openssl,安裝openssl(用來生成和使用私有秘鑰和公有秘鑰)
具體操作:
將openssl的安裝路徑新增到系統環境變數中:c:\program files\openssl-win64\bin3.伺服器端建立乙個js模組(jwt.js)在對應的專案檔案的node_modul資料夾下建立pem資料夾,在該路徑下執行以下命令
生成私鑰: openssl genrsa -out rsa_private_key.pem 1024
用私鑰生成公鑰:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
可選:對私鑰進行pkcs8編碼:openssl pkcs8 -in rsa_private_key.pem -topk8 -out pkcs9_rsa_private_key.pem -inform pem -outform pem -nocrypt
生成加密的私鑰:openssl genrsa -aes256 -passout pass:123456 -out aes_rsa_private_key.pem 1024
通過加密私鑰生成公鑰:openssl rsa -in aes_rsa_private_key.pem -passin pass:123456 -pubout -out rsa_public_key.pem
**:
// 引入模組依賴
const fs =
require
('fs');
const path =
require
('path');
const jwt =
require
('jsonwebtoken');
//生成token
function
generatetoken
(data)
, cert,);
return token;
}// 校驗token
function
verifytoken
(token))||
; res = result.data ||;}
}catch(e
)return res;
}module.exports =
;//匯出這兩個方法
4.伺服器端通過中介軟體使用token:(且這個中介軟體在其他掛載路由器之前)
**片段:
use(
(req, res, next)
=>)}
else
if(result.name ==
'tokenexpirederror'))
;}else
if(result.name==
"jsonwebtokenerror"))
}else
}else})
;其他介面可以直接使用req.user。而且登陸成功(所有與"我的"相關的介面)之後,還要res.send( )
5.客戶端怎麼發:
客戶端的axios請求:
this
.axios.
get(
'cart',,
headers:,}
);
擴充套件:每個axios請求都要傳送headers中的token,以及.then()中都要判斷伺服器返回過來的token,為了簡便**,可以新增***;
①建立axios.js檔案模組:
import axios from
"axios"
;import qs from
"qs"
;import store from
'./store'
const axios=axios.
create()
//請求***
axios.interceptors.request.
use(
config=>
//)if
(config.method===
"post")if
(localstorage.
getitem
("token"))
if(sessionstorage.
getitem
("token"))
return config;},
error=>);
//響應***
axios.interceptors.response.
use(
res=>
else
if(res.data.code==-1
)else
if(res.data.token)
else
}return res;},
error=>
)export
default
}
②main.js中引入:
import axios from
'./axios'
vue.
use(axios)
;
關於this 的使用
如有不對的地方請大家指出,呵呵.this 的使用 1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class a public static void main string args 執行結果 s hellow...
關於使用saiku,MDX
最近在研究saiku的動態報表部分,沒有頭緒。saiku是乙個輕量級的olap分析引擎,可以方便的擴充套件 嵌入和配置。saiku通過rest api連線olap系統,利用其友好的介面為使用者提供直觀的分析資料的方式,它是基於jquery做的前端介面。已經將saiku server搭建好了,也將乙個...
關於AsyncHttpClient使用
在android開發中,傳送 處理http請求簡直太常見了,以至於我們的 裡到處充斥著各種httpclient和與之相關又臭又長的 它們存在於你 的各個角落,每次看見都令人作嘔,而你僅僅是為了server能返回乙個string或者json給你。每次當我自己寫這樣 的 時,我都會想能不能簡化下這個流程...