即时通讯登录方案-socket.io长连接绑定登录
E聊是免费开源的IM框架, 使用它可以快速二次开发聊天应用。E聊使用socket.io作为长连接框架, socket.io连接后会自动创建一个会话, 其中sessionId标识每个会话
1. 设计思路
- 在E聊系统中,聊天业务上使用auid标识每个用户;
- socket.io连接后会自动创建一个会话, 其中sessionId标识每个会话
- 需要将socket.io会话跟用户id绑定起来
因此,可以在socket.io连接建立后,再向服务器发送登录认证请求,服务器校验用户名跟密码成功后,返回用户认证信息数字签名jwt,并在后端记录socket.io sessionId与用户auid的映射关系,从而把socket.io会话跟用户id绑定起来。
如下图:
此后,客户可使用数字签名jwt访问其他的带权限的接口
2. 优化
参照其它的认证系统,返回jwt同时附带expire_second字段, 告知客户端jwt失效时间,从而重新认证。
进入官网
SDK版本:v1.02
技术交流QQ群: 471688937