如何在每条消息中表示/维护XMPP / ejabberd登录会话?它与PHP会话相比如何?

时间:2015-12-01 03:10:48

标签: session authentication xmpp ejabberd

我很难理解用户在登录后如何发送消息,因为没有交换会话令牌或任何其他类型的令牌。

例如,在您登录用户后的PHP中,为他创建了一个存储在cookie中的会话ID,然后每当他访问一个页面时,都会从cookie中检索该会话ID,并识别他。

这对XMPP / ejabberd有何影响,因为在身份验证后没有令牌交换?

我发现了这个:

  

会话管理员:   该模块将数据包路由到本地用户。它搜索哪些用户资源   数据包必须通过状态表发送。如果此资源已连接到此   节点,它被路由到C2S进程,如果它通过另一个节点连接,那么   数据包被发送到该节点上的会话管理器。

...但我不确定它是否与我的问题有关,即使是这样,我仍然不知道这与用户刚刚进行的登录有什么关系。

1 个答案:

答案 0 :(得分:3)

在XMPP中,TCP连接保持打开状态(通常使用TLS加密)。通过该连接发送的每条消息都假定来自已经过身份验证的用户。

urn:ietf:params:xml:ns:xmpp-session命名空间提供的会话支持已弃用,大多数服务器不会响应<session/>