无法使用oauth在Comet Listener中提取UserDetails

时间:2019-01-17 12:01:08

标签: oauth-2.0 cometd

我正在尝试通过oauth支持实现cometd api。我无法通过元通道的Listener方法从ServerMessage中提取主体详细信息。

我的api使用承载令牌进行身份验证,我看到在调用monitorMeta()之前会调用spring安全类。但是我看到主体在BayeuxContext中填充为null。

@Listener("/meta/*")
public void monitorMeta(ServerSession session, ServerMessage message) {      
    BayeuxContext context = message.getBayeuxContext();       
    Principal principal= context.getUserPrincipal();
}   

如何从cometD侦听器类中的SecurityHandler获取主体详细信息。我的意图是从主体中提取用户ID,并保存与用户ID和ServerSession的内部连接映射。因此,我将在消息发布期间使用此映射到正确的客户端匹配用户ID。

0 个答案:

没有答案