我想爲web套接字連接實現基於令牌的認證。Spring STOMP基於令牌的安全性
我的後臺系統是服務器和機器客戶,如何發送和機和服務器,在這裏沒有用戶認證之間發送和接收信息過程中實現身份驗證。
@Configuration
@EnableWebSocketMessageBroker
public class MyConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureClientInboundChannel(ChannelRegistration registration) {
registration.setInterceptors(new ChannelInterceptorAdapter() {
@Override
public Message<?> preSend(Message<?> message, MessageChannel channel) {
StompHeaderAccessor accessor =
MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
if (StompCommand.CONNECT.equals(accessor.getCommand())) {
String authToken = accessor.getFirstNativeHeader("X-Auth-Token");
log.debug("webSocket token is {}", authToken);
Principal user = ... ; // access authentication header(s)
accessor.setUser(user);
}
return message;
}
});
}
}
但是,我完全失去了我將在「Principal user = ...;」上做的事情。我如何用令牌獲得原則?由於這裏沒有用戶存在的,只有一臺機器和後端服務器
你問如何到無需用戶交互與服務器驗證客戶端並創建一個令牌在客戶端使用?或者你已經有一個令牌,並且你在問如何從令牌獲得一個委託人? – CamW
如何在沒有用戶交互的情況下使用服務器驗證客戶端,並創建令牌以在客戶端上使用? – Amit
您的應用程序如何加入客戶端設備?用戶是否下載並安裝它?你能提供更多關於客戶端應用程序性質的信息嗎? – CamW