in src/main/java/com/amazon/photosharing/facade/TokenFacade.java [74:114]
public boolean validateToken(String p_token) {
String username = TokenGenerator.getInstance().getUsernameFromToken(p_token);
_logger.debug("Token: " + p_token);
_logger.debug("Username: " + username);
String token = TokenStorage.getInstance().getToken(username);
if (token == null) {
_logger.debug("Token is null, trying to get it from DB");
Token tmpToken = findToken(username);
if (tmpToken == null)
return false;
TokenStorage.getInstance().storeToken(username, tmpToken.getToken());
token = tmpToken.getToken();
}
if (token.equals(p_token)) {
_logger.debug("Tokens are the same");
boolean isValid = TokenGenerator.getInstance().validateToken(token);
_logger.debug("Is token valid: " + isValid);
if (!isValid) {
TokenStorage.getInstance().removeToken(username);
Token tmpToken = findToken(username);
if (tmpToken != null) {
beginTx();
em().remove(tmpToken);
commitTx();
}
}
return isValid;
}
else {
_logger.info("Tokens not the same");
return false;
}
}