2016-10-12 63 views
1

我正在致力於在Cookie中存儲JWT令牌的網站。我想要做的是創建Javascript,解碼令牌並提取我需要的值並將其傳遞給由我的同事編寫的另一個Javascript。我的問題是,是否有用於JWT令牌解碼的客戶端JavaScript庫,可以從我的腳本中導入?用於在客戶端解碼智威湯遜的庫

+1

檢查:https://jwt.io/#libraries尋找的Javascript部分 –

+1

如果需要檢驗簽名JWT或解碼加密後JWT @MikeCheel的評論是非常有用的。但是,如果你只想讀取一個未加密的JWT,你只需要base64對它進行解碼,如bhspencer –

回答

3

JWT只是一個以點分隔的base64編碼字符串。你只需要分割點,然後使用atob()來解碼。你不需要外部庫。

例如

var jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ"; 

var tokens = jwt.split("."); 

console.log(atob(tokens[0])); 
console.log(atob(tokens[1])); 
+0

的答案中所述。謝謝,但我想它不適用於UTF,對嗎? – user30646

+0

@ user30646 https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#The_.22Unicode_Problem.22 –

+0

@mikeCheel謝謝 – user30646