|
@@ -52,12 +52,11 @@ public class AccountTokenServiceImpl implements AccountTokenService {
|
|
|
private final LoginAttemptsMapper loginAttemptsMapper;
|
|
private final LoginAttemptsMapper loginAttemptsMapper;
|
|
|
private final PubkeyService pubkeyService;
|
|
private final PubkeyService pubkeyService;
|
|
|
private final IDObfuscation idObfuscation;
|
|
private final IDObfuscation idObfuscation;
|
|
|
- private final AccountQuery accountQuery;
|
|
|
|
|
|
|
|
|
|
public AccountTokenServiceImpl(RedisOps redisOps, RedisString redisString, RedisStringObject redisStringObject,
|
|
public AccountTokenServiceImpl(RedisOps redisOps, RedisString redisString, RedisStringObject redisStringObject,
|
|
|
UserAccountMapper userAccountMapper, LoginAttemptsMapper loginAttemptsMapper,
|
|
UserAccountMapper userAccountMapper, LoginAttemptsMapper loginAttemptsMapper,
|
|
|
ServerProperties serverProperties, PubkeyService pubkeyService,
|
|
ServerProperties serverProperties, PubkeyService pubkeyService,
|
|
|
- IDObfuscation idObfuscation, AccountQuery accountQuery) {
|
|
|
|
|
|
|
+ IDObfuscation idObfuscation) {
|
|
|
long sessionTimeout = serverProperties.getServlet().getSession().getTimeout().getSeconds();
|
|
long sessionTimeout = serverProperties.getServlet().getSession().getTimeout().getSeconds();
|
|
|
this.redisOps = redisOps;
|
|
this.redisOps = redisOps;
|
|
|
this.redisString = redisString;
|
|
this.redisString = redisString;
|
|
@@ -66,7 +65,6 @@ public class AccountTokenServiceImpl implements AccountTokenService {
|
|
|
this.loginAttemptsMapper = loginAttemptsMapper;
|
|
this.loginAttemptsMapper = loginAttemptsMapper;
|
|
|
this.pubkeyService = pubkeyService;
|
|
this.pubkeyService = pubkeyService;
|
|
|
this.idObfuscation = idObfuscation;
|
|
this.idObfuscation = idObfuscation;
|
|
|
- this.accountQuery = accountQuery;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -140,7 +138,7 @@ public class AccountTokenServiceImpl implements AccountTokenService {
|
|
|
int plat = refreshPayload.getPlat();
|
|
int plat = refreshPayload.getPlat();
|
|
|
String loginId = refreshPayload.getLoginId();
|
|
String loginId = refreshPayload.getLoginId();
|
|
|
long userId = refreshPayload.getUserId();
|
|
long userId = refreshPayload.getUserId();
|
|
|
- String userIdStr = accountQuery.getUserIdStr(userId);
|
|
|
|
|
|
|
+ String userIdStr = idObfuscation.obfuscate(userId);
|
|
|
Object object = redisStringObject.get(RedisKeys.getAuthTokenKey(userIdStr, plat, loginId));
|
|
Object object = redisStringObject.get(RedisKeys.getAuthTokenKey(userIdStr, plat, loginId));
|
|
|
AccountAuthToken authToken = (AccountAuthToken) object;
|
|
AccountAuthToken authToken = (AccountAuthToken) object;
|
|
|
|
|
|
|
@@ -156,7 +154,7 @@ public class AccountTokenServiceImpl implements AccountTokenService {
|
|
|
@Override
|
|
@Override
|
|
|
public AccountToken grantUserToken(AccountAuthToken authToken) {
|
|
public AccountToken grantUserToken(AccountAuthToken authToken) {
|
|
|
long userId = authToken.getUserId();
|
|
long userId = authToken.getUserId();
|
|
|
- String userIdStr = accountQuery.getUserIdStr(userId);
|
|
|
|
|
|
|
+ String userIdStr = idObfuscation.obfuscate(userId);
|
|
|
int plat = authToken.getPlat();
|
|
int plat = authToken.getPlat();
|
|
|
long accessExpireIn = 1000L*3600*24*7;
|
|
long accessExpireIn = 1000L*3600*24*7;
|
|
|
long accessExpireAt = System.currentTimeMillis() + accessExpireIn;
|
|
long accessExpireAt = System.currentTimeMillis() + accessExpireIn;
|
|
@@ -271,7 +269,7 @@ public class AccountTokenServiceImpl implements AccountTokenService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void revokeUserToken(long userId, int plat, String loginId) {
|
|
private void revokeUserToken(long userId, int plat, String loginId) {
|
|
|
- String userIdStr = accountQuery.getUserIdStr(userId);
|
|
|
|
|
|
|
+ String userIdStr = idObfuscation.obfuscate(userId);
|
|
|
String refreshToken = redisString.get(RedisKeys.getRefreshTokenKey(userIdStr, loginId));
|
|
String refreshToken = redisString.get(RedisKeys.getRefreshTokenKey(userIdStr, loginId));
|
|
|
String accessToken = redisString.get(RedisKeys.getAccessTokenKey(userIdStr, loginId));
|
|
String accessToken = redisString.get(RedisKeys.getAccessTokenKey(userIdStr, loginId));
|
|
|
String[] keys = List.of(RedisKeys.getRefreshTokenKey(userIdStr, loginId),
|
|
String[] keys = List.of(RedisKeys.getRefreshTokenKey(userIdStr, loginId),
|