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非對稱算法對請求數據進行加密處理,防止數據篡改