| | |
| | | public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler webSocketHandler, Map<String, Object> map) throws Exception { |
| | | // log.info("拦截器,握手前"); |
| | | Map<String, String> params = parseParameterMap(request.getURI().getQuery()); |
| | | |
| | | //invite_id_时间戳 例如:45656161_4554848489的加密 |
| | | String token = params.get("token"); |
| | | if (StrUtil.isNotBlank(token)) { |
| | | String inviteId = token; |
| | | // String inviteId = resolveToken(token); |
| | | // String inviteId = token; |
| | | String inviteId = resolveToken(token); |
| | | log.info("----->{}", inviteId); |
| | | if (StrUtil.isBlank(inviteId) || AppContants.TIME_OUT.equals(inviteId)) { |
| | | return false; |
| | |
| | | } |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | // RSA rsa = new RSA(null, AppContants.PUBLIC_KEY); |
| | | // String token = rsa.encryptBase64("45" + "_" + System.currentTimeMillis(), KeyType.PublicKey); |
| | | // System.out.println(token); |
| | | |
| | | String token = "kbswT3NAxqcXWcW9gVR6c/hXIFVWRIfaMq99HAiZ/IKPkoHaTlFBbLtFMTMmvUdbm45VtjOnubAMHFhQTz8GoyjhjB7bdDGWFfpe4DcGCKEMf6bWuRqopOeVF8Pst6UTwTZCvPDnbka5wbGggqNvwcSQQT2okjRe+nfU+A5EAfY="; |
| | | |
| | | |
| | | RSA rsas = new RSA(AppContants.PRIVATE_KEY, null); |
| | | String[] tokens = StrUtil.split(rsas.decryptStr(token, KeyType.PrivateKey), "_"); |
| | | |
| | | |
| | | |
| | | System.out.println(tokens[0]); |
| | | System.out.println(tokens[1]); |
| | | long currentTime = System.currentTimeMillis(); |
| | | boolean b = currentTime - Long.parseLong(tokens[1]) <= 10000; |
| | | System.out.println(b); |
| | | } |
| | | |
| | | private Boolean verifyTokenExpired(Long time) { |
| | | boolean isDebug = false; |
| | | if (!isDebug) { |