JJWT的token生成以及相關實踐

1.JWT生成token的結構:android

  • Header: 標題包含了令牌的元數據,而且在最小包含簽名和/或加密算法的類型redis

  • Claims: Claims包含您想要簽署的任何信息算法

  • JSON Web Signature (JWS): 在header中指定的使用該算法的數字簽名和聲明緩存

JWT原始存儲的原始數據:安全

{數據結構

"appKey":"eddue",app

"appSecret":"123456",加密

"appVersion":"1.0.0",blog

"customerId":"1",token

"customerMobile":"150XXXXXXX",

"customerName":"XXX",

"loginTimeStamp":1540202470443,

"systemSource":"android",

"timestamp":"1540204270527"

}

生成轉化成token字符串數據結構

注意事項:

1.sign簽名加密的key必定要放在服務端配置,防止外泄

2.訪問http請求的方式必定要改爲https

3.默認JWT的token是永久有效,能夠在token中加入時間戳,利用redis存儲用戶信息,使用redis緩存失效時間策略,實現JWT的token失效

4.針對token串存在安全問題,對tokenId以及其餘請求參數再作一次簽名處理防止黑客獲取請求token後,在token有效期內修改其餘請求參數。若是你還不放心,咱們能夠在繼續使用AES非對稱算法對請求數據進行加密處理,防止數據篡改

相關文章
相關標籤/搜索