即时通讯服务器是如何认证消息发送者的身份的?

就拿最简单的单聊来说(例如微信好友之间),当用户A给其好友用户B发送消息时,也就是A向A-B会话中发布一条消息,服务器端收到该消息应该要通过身份认证业务逻辑去核实消息的发送者A的身份,并且判断是否有权限向B发送消息(A-B会话中发布的权限),如果通过验证才会向订阅该会话的另一方B转发该消息。那么中间的消息发送者A的身份认证如何实现?是在消息中加入一个签名字段吗

阅读 3.2k
1 个回答

对于即时通讯系统来说,认证的过程一般在连接建立的时,也就是说在通讯连接建立的时候就认证身份,之后就认为这个连接和对应的用户是可信的。因为即时通讯程序一般采用的都是长连接,所以没有必要像HTTP一类的无状态协议一样每条消息都认证身份。当然,为了防止通过伪造连接的中间者攻击,最好在连接上使用加密协议进行数据传输。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题