Spring WebSocket не может отправить сообщение аутентифицированному пользователю при передаче jwtToken в заголовке - PullRequest
0 голосов
/ 29 мая 2020

1. сцены, которые будут использоваться

  • При подключении WebSocket разрешен Все
  • Затем подписаться / user / queue / userInfo требуется аутентификация пользователя
  • После успешной подписки , отправьте на / app / user / info требуется аутентификация (потому что мне нужно получить userInfo) и pu sh сообщение в очередь подписки текущего пользователя / user / queue / userInfo

1 Ответ

0 голосов
/ 29 мая 2020

2.1 Подробное описание после отслеживания исходного кода

1) при подписке / user / queue / userInfo с помощью jwtToken в заголовке я получаю jwtToken, затем получаю объект пользователя Principle с сервера аутентификации с помощью jwtToken, затем установите пользователя в StompHeaderAccessor. Наконец, пользователь подписывается на lookupDestination: / queue / userInfo / user {sessionId} 2) Затем отправьте / app / user / userInfo с jwtToken в заголовке, после обработки возвращаемого значения конечным пунктом назначения отправки будет / user / {Principle.getName ()} / queue / userInfo.

пользователь никогда не подписывается на эту очередь: /user/{Principle.getName()}/queue/userInfo, и сообщение не может быть отправлено пользователю

...