From baa536f442210b00c95991aadc1448e3f3abba2f Mon Sep 17 00:00:00 2001
From: xia jun <3979434@qq.com>
Date: Wed, 5 Jun 2024 14:13:56 +0800
Subject: [PATCH] =?UTF-8?q?Server=20SDK=20=E4=BC=98=E5=8C=96Websocket?=
=?UTF-8?q?=E9=89=B4=E6=9D=83=E6=9C=BA=E5=88=B6=EF=BC=8C=E5=9C=A8=E6=8F=A1?=
=?UTF-8?q?=E6=89=8B=E4=B9=8B=E5=89=8D=E9=89=B4=E6=9D=83=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 2 +-
cim-boot-server/pom.xml | 2 +-
.../predicate/HandshakePredicate.java | 54 -------------
cim-client-sdk/cim-android-sdk/pom.xml | 8 +-
cim-server-sdk/pom.xml | 10 +--
cim-server-sdk/release.sh | 2 +-
.../cim/acceptor/config/WebsocketConfig.java | 16 ----
.../cim/handshake/HandshakeEvent.java | 76 ------------------
.../cim/handshake/HandshakeHandler.java | 78 -------------------
9 files changed, 12 insertions(+), 236 deletions(-)
delete mode 100644 cim-boot-server/src/main/java/com/farsunset/cim/component/predicate/HandshakePredicate.java
delete mode 100644 cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeEvent.java
delete mode 100644 cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeHandler.java
diff --git a/README.md b/README.md
index be0bd24..7c45bfb 100644
--- a/README.md
+++ b/README.md
@@ -161,7 +161,7 @@ https://www.yuque.com/yuanfangxiyang/ma4ytb/vvy3iz/edit#nnzKN
com.farsunset
cim-server-sdk-netty
- 4.2.6
+ 4.2.7
```
diff --git a/cim-boot-server/pom.xml b/cim-boot-server/pom.xml
index b985732..e2c0a31 100644
--- a/cim-boot-server/pom.xml
+++ b/cim-boot-server/pom.xml
@@ -67,7 +67,7 @@
com.farsunset
cim-server-sdk-netty
- 4.2.7-SNAPSHOT
+ 4.2.7
org.apache.commons
diff --git a/cim-boot-server/src/main/java/com/farsunset/cim/component/predicate/HandshakePredicate.java b/cim-boot-server/src/main/java/com/farsunset/cim/component/predicate/HandshakePredicate.java
deleted file mode 100644
index c4b6fff..0000000
--- a/cim-boot-server/src/main/java/com/farsunset/cim/component/predicate/HandshakePredicate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2013-2022 Xia Jun(3979434@qq.com).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ***************************************************************************************
- * *
- * Website : http://www.farsunset.com *
- * *
- ***************************************************************************************
- */
-package com.farsunset.cim.component.predicate;
-
-import com.farsunset.cim.handshake.HandshakeEvent;
-import org.springframework.stereotype.Component;
-
-import java.util.function.Predicate;
-
-
-/**
- * WS链接握手鉴权验证
- */
-@Deprecated
-@Component
-public class HandshakePredicate implements Predicate {
-
- /**
- * 验证身份信息,本方法切勿进行耗时操作!!!
- * @param event
- * @return true验证通过 false验证失败
- */
- @Override
- public boolean test(HandshakeEvent event) {
-
- /*
- 可通过header或者uri传递参数
- String token = event.getHeader("token");
- String token = event.getParameter("token");
- do auth....
- */
-
- return true;
- }
-}
diff --git a/cim-client-sdk/cim-android-sdk/pom.xml b/cim-client-sdk/cim-android-sdk/pom.xml
index a0ae289..7cf3f41 100755
--- a/cim-client-sdk/cim-android-sdk/pom.xml
+++ b/cim-client-sdk/cim-android-sdk/pom.xml
@@ -61,7 +61,7 @@
org.apache.maven.plugins
maven-source-plugin
- 2.2.1
+ 3.3.1
package
@@ -98,7 +98,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.6
+ 3.2.4
verify
@@ -112,7 +112,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.13.0
1.8
1.8
@@ -125,7 +125,7 @@
org.apache.maven.plugins
maven-release-plugin
- 2.5.1
+ 3.0.1
diff --git a/cim-server-sdk/pom.xml b/cim-server-sdk/pom.xml
index ebcd399..33d2dac 100644
--- a/cim-server-sdk/pom.xml
+++ b/cim-server-sdk/pom.xml
@@ -6,7 +6,7 @@
com.farsunset
cim-server-sdk-netty
- 4.2.7-SNAPSHOT
+ 4.2.7
jar
${project.groupId}:${project.artifactId}
@@ -109,7 +109,7 @@
2.2.1
- package
+ attach-sources
jar-no-fork
@@ -143,7 +143,7 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.6
+ 3.2.4
verify
@@ -157,7 +157,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.1
+ 3.13.0
1.8
1.8
@@ -170,7 +170,7 @@
org.apache.maven.plugins
maven-release-plugin
- 2.5.1
+ 3.0.1
diff --git a/cim-server-sdk/release.sh b/cim-server-sdk/release.sh
index ce3a0a0..ab9ffff 100755
--- a/cim-server-sdk/release.sh
+++ b/cim-server-sdk/release.sh
@@ -1 +1 @@
-mvn clean install deploy -P release
\ No newline at end of file
+mvn clean install deploy -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -P release
\ No newline at end of file
diff --git a/cim-server-sdk/src/main/java/com/farsunset/cim/acceptor/config/WebsocketConfig.java b/cim-server-sdk/src/main/java/com/farsunset/cim/acceptor/config/WebsocketConfig.java
index 6042b0b..3966543 100644
--- a/cim-server-sdk/src/main/java/com/farsunset/cim/acceptor/config/WebsocketConfig.java
+++ b/cim-server-sdk/src/main/java/com/farsunset/cim/acceptor/config/WebsocketConfig.java
@@ -23,7 +23,6 @@ package com.farsunset.cim.acceptor.config;
import com.farsunset.cim.auth.AuthPredicateInfo;
import com.farsunset.cim.constant.WebsocketProtocol;
-import com.farsunset.cim.handshake.HandshakeEvent;
import java.util.function.Predicate;
@@ -48,12 +47,6 @@ public class WebsocketConfig extends SocketConfig{
*/
private WebsocketProtocol protocol;
- /**
- * websocket鉴权实现
- */
- @Deprecated
- private Predicate handshakePredicate;
-
/**
* 鉴权实现
*/
@@ -73,10 +66,6 @@ public class WebsocketConfig extends SocketConfig{
return protocol == null ? DEFAULT_PROTOCOL : protocol;
}
- public Predicate getHandshakePredicate() {
- return handshakePredicate;
- }
-
public void setPath(String path) {
this.path = path;
}
@@ -85,11 +74,6 @@ public class WebsocketConfig extends SocketConfig{
this.protocol = protocol;
}
-
- public void setHandshakePredicate(Predicate handshakePredicate) {
- this.handshakePredicate = handshakePredicate;
- }
-
public void setAuthPredicate(Predicate authPredicate) {
this.authPredicate = authPredicate;
}
diff --git a/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeEvent.java b/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeEvent.java
deleted file mode 100644
index 1a3bd07..0000000
--- a/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeEvent.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright 2013-2022 Xia Jun(3979434@qq.com).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ***************************************************************************************
- * *
- * Website : http://www.farsunset.com *
- * *
- ***************************************************************************************
- */
-package com.farsunset.cim.handshake;
-
-import io.netty.handler.codec.http.HttpHeaders;
-import io.netty.handler.codec.http.QueryStringDecoder;
-import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
-
-import java.util.List;
-
-/**
- * websocket客户端握手请求信息
- * 用于在握手阶段鉴权
- */
-@Deprecated
-public class HandshakeEvent {
-
- private final String uri;
-
- private final HttpHeaders header;
-
- public HandshakeEvent(String uri, HttpHeaders header) {
- this.uri = uri;
- this.header = header;
- }
-
- public String getHeader(String name){
- return header.get(name);
- }
-
- public List getHeaders(String name){
- return header.getAll(name);
- }
-
- public Integer getIntHeader(String name){
- return header.getInt(name);
- }
-
- public String getParameter(String name){
- QueryStringDecoder decoder = new QueryStringDecoder(uri);
- List valueList = decoder.parameters().get(name);
- return valueList == null || valueList.isEmpty() ? null : valueList.get(0);
- }
-
- public List getParameters(String name){
- QueryStringDecoder decoder = new QueryStringDecoder(uri);
- return decoder.parameters().get(name);
- }
-
- public String getUri() {
- return uri;
- }
-
- public static HandshakeEvent of(WebSocketServerProtocolHandler.HandshakeComplete event){
- return new HandshakeEvent(event.requestUri(),event.requestHeaders());
- }
-}
diff --git a/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeHandler.java b/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeHandler.java
deleted file mode 100644
index a560dd5..0000000
--- a/cim-server-sdk/src/main/java/com/farsunset/cim/handshake/HandshakeHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2013-2022 Xia Jun(3979434@qq.com).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ***************************************************************************************
- * *
- * Website : http://www.farsunset.com *
- * *
- ***************************************************************************************
- */
-package com.farsunset.cim.handshake;
-
-import com.farsunset.cim.constant.CIMConstant;
-import com.farsunset.cim.model.ReplyBody;
-import io.netty.channel.ChannelFutureListener;
-import io.netty.channel.ChannelHandler;
-import io.netty.channel.ChannelHandlerContext;
-import io.netty.channel.ChannelInboundHandlerAdapter;
-import io.netty.handler.codec.http.HttpResponseStatus;
-import io.netty.handler.codec.http.websocketx.WebSocketServerProtocolHandler;
-
-import java.util.function.Predicate;
-
-/**
- * WS握手时鉴权
- */
-@Deprecated
-@ChannelHandler.Sharable
-public class HandshakeHandler extends ChannelInboundHandlerAdapter {
- /*
- *认证失败,返回replyBody给客户端
- */
- private final ReplyBody failedBody = ReplyBody.make(CIMConstant.CLIENT_HANDSHAKE,
- HttpResponseStatus.UNAUTHORIZED.code(),
- HttpResponseStatus.UNAUTHORIZED.reasonPhrase());
-
- private final Predicate handshakePredicate;
-
- public HandshakeHandler(Predicate handshakePredicate) {
- this.handshakePredicate = handshakePredicate;
- }
-
- @Override
- public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
-
- super.userEventTriggered(ctx, evt);
-
- if (evt instanceof WebSocketServerProtocolHandler.HandshakeComplete) {
- doAuthentication(ctx, (WebSocketServerProtocolHandler.HandshakeComplete) evt);
- }
-
- }
-
- private void doAuthentication(ChannelHandlerContext context, WebSocketServerProtocolHandler.HandshakeComplete event) {
-
- if (handshakePredicate == null) {
- return;
- }
-
- /*
- * 鉴权不通过,发送响应体并关闭链接
- */
- if (!handshakePredicate.test(HandshakeEvent.of(event))) {
- context.channel().writeAndFlush(failedBody).addListener(ChannelFutureListener.CLOSE);
- }
- }
-}
\ No newline at end of file