【发布时间】:2021-08-22 21:39:19
【问题描述】:
我需要添加 jwt 身份验证。我有 jwt 生成和验证类。我不知道如何在 websocket 中添加它。我认为 spring 必须在连接开始时检查 jwt 令牌
服务器端点类
@Component
@ServerEndpoint(value = "/user",
encoders = { MessageEncoder.class },
decoders = { MessageDecoder.class }
)
public class ChatEndpoint implements Serializable {
@OnOpen
public void OnOpen (Session session) throws IOException {
}
@OnMessage
public void onMessage(Session session, Message message) throws IOException, EncodeException {
}
@OnClose
public void onClose(Session session) throws IOException, EncodeException {
}
@OnError
public void onError(Session session, Throwable throwable) {
// Do error handling here
System.out.println(throwable);
}
public static void broadcast(Message message) throws IOException {
}
private void sendMessage(Message message) throws IOException {
}
}
入门类
@ServletComponentScan
@SpringBootApplication
public class WebsocketdemoApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(WebsocketdemoApplication.class);
app.run(args);
}
}
配置类
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter endpointExporter(){
return new ServerEndpointExporter();
}
}
我的 pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.4.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.4</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.4.3</version>
</dependency>
我希望有人可以帮助我。我不能考虑。每个人都在使用 stomp,但我没有使用它,所以这很奇怪
【问题讨论】:
标签: spring-boot spring-security spring-websocket