KKSU
2024-07-01 e6b3a66822fe764ce2b8336e178363d35dbcd3a5
src/main/java/cc/mrbird/febs/websocket/WsAuthInterceptor.java
@@ -26,11 +26,11 @@
    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;
@@ -75,6 +75,18 @@
        }
    }
    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);
        RSA rsas = new RSA(AppContants.PRIVATE_KEY, null);
        String[] tokens = StrUtil.split(rsas.decryptStr(token, KeyType.PrivateKey), "_");
        System.out.println(tokens);
    }
    private Boolean verifyTokenExpired(Long time) {
        boolean isDebug = false;
        if (!isDebug) {