我们在做后台传参数的时候经常遇到下面的几个参数不好传的问题
String accessToken, Integer appId, String deviceId , timestamp
1 如何传值appiD和token
找到相应acountId即为 userId
Integer userId = tokenService.getUserIdByAccessToken(accessToken, appId);
2 如何找到加密后的deviceId
首先找到秘钥
去数据库tb_app_auth里面找到
该appId对应的秘钥
比如10100所对应的aac1b1ea435a40ceb2a6bbcf42bbdcfe
然后执行AESCryptoSecurity加密类
String result=AESCryptoSecurity.encrypt("1009299", "aac1b1ea435a40ceb2a6bbcf42bbdcfe");
System.out.println(result);
main执行后得到
6265C656936DF2F02CF95E04D22F100F
3 timestamp不需要写 这个是在拦截器里面用到 app必须传
至此下面的方法即可执行
public Object getIslink(String accessToken, Integer appId, String deviceId){
//得到UserId
Integer userId = tokenService.getUserIdByAccessToken(accessToken, appId);
//根据appId获得秘钥
String secretKey = authService.getAppSecret(appId);
//根据加密后的deviceId和秘钥进行解密
deviceId = AESCryptoSecurity.decrypt(deviceId, secretKey);
}