Я пытаюсь внедрить api cometd с поддержкой oauth. Я не могу извлечь основные детали из ServerMessage в моем методе Listener метаканалов.
Мой API использует токен переноса для аутентификации, и я вижу, что весенний класс безопасности вызывается перед вызовом monitorMeta (). Но я вижу, что принципал заполнен как ноль в BayeuxContext.
@Listener("/meta/*")
public void monitorMeta(ServerSession session, ServerMessage message) {
BayeuxContext context = message.getBayeuxContext();
Principal principal= context.getUserPrincipal();
}
Как получить основные детали из SecurityHandler внутри класса слушателя cometD. Мое намерение состоит в том, чтобы извлечь идентификаторы пользователей из принципала и сохранить внутреннюю карту соединений с идентификаторами пользователей и сервером. Поэтому я буду использовать эту карту во время публикации сообщения для правильного идентификатора пользователя, соответствующего клиенту.