就拿最简单的单聊来说(例如微信好友之间),当用户A给其好友用户B发送消息时,也就是A向A-B会话中发布一条消息,服务器端收到该消息应该要通过身份认证业务逻辑去核实消息的发送者A的身份,并且判断是否有权限向B发送消息(A-B会话中发布的权限),如果通过验证才会向订阅该会话的另一方B转发该消息。那么中间的消息发送者A的身份认证如何实现?是在消息中加入一个签名字段吗
就拿最简单的单聊来说(例如微信好友之间),当用户A给其好友用户B发送消息时,也就是A向A-B会话中发布一条消息,服务器端收到该消息应该要通过身份认证业务逻辑去核实消息的发送者A的身份,并且判断是否有权限向B发送消息(A-B会话中发布的权限),如果通过验证才会向订阅该会话的另一方B转发该消息。那么中间的消息发送者A的身份认证如何实现?是在消息中加入一个签名字段吗
7 回答5.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
对于即时通讯系统来说,认证的过程一般在连接建立的时,也就是说在通讯连接建立的时候就认证身份,之后就认为这个连接和对应的用户是可信的。因为即时通讯程序一般采用的都是长连接,所以没有必要像HTTP一类的无状态协议一样每条消息都认证身份。当然,为了防止通过伪造连接的中间者攻击,最好在连接上使用加密协议进行数据传输。