写在前面:欢迎大家与我交流讨论任何关于聊天服务开发有关的问题!!!
在阅读本文之前,你需要对pomelo的基本知识有所了解,可参考:
- Pomelo搭建(一)
- Pomelo搭建(二)
注:这里所介绍的聊天服务是集成在Web应用中的一个模块,不是独立的聊天系统
一.添加身份验证(JWTToken)
在这里对用
JWTToken
进行简单的介绍:用户在登陆后获取到服务器返回的token
(可理解为身份令牌
),下一次请求时带上这个令牌进行身份验证,验证成功才可访问。且token
有过期时间,在一定时间以内有效,超期后需重新登陆。
不了解JWTToken
的可以到这里看看:JWTToken简介
注:以pomelo为基础的聊天服务器是基于websocket长连接的,因此只有第一次连接的请求是发送http请求(三次握手),后续调用根据route路由,故在例子中将token作为请求参数传到服务端进行身份验证,若有其他的更好的处理方法,欢迎交流讨论。
JWTToken
组成
分为三部分:头部(header
)、载荷(payload
)、签证(signature
)。
(1)头部(header):包括两部分信息,a.声明类型(jwt) b.声明加密使用的算法
(通常直接使用HmacSHA256)。如:{‘type’:‘JWT’, ‘alg’: ‘HS256’}
(2)载荷(payload):存放有效信息的地方,可放置一些验证信息,如用户名等
(3)签证(signature):由三部分组成ÿ