登录
交互消息,out是客户端发出,in是客户端接收
- 客户端发出
hi
消息,里面主要包括了版本,ua,lang消息out: {"hi":{"id":"83985","ver":"0.16.3","ua":"TinodeWeb/0.16.3 (Chrome/80.0; Win32); tinodejs/0.16.3","lang":"zh-CN"}}
- 服务端返回
ctrl
消息;其实就是返回了服务端的一堆配置,返回的代码是201in: {"ctrl":{"id":"83985","params":{"build":"mongodb:undef","maxFileUploadSize":8388608,"maxMessageSize":262144,"maxSubscriberCount":128,"maxTagCount":16,"ver":"0.16"},"code":201,"text":"created","ts":"2020-03-23T07:55:58.439Z"}}
- 客服端登录,发送
login
消息out: {"login":{"id":"83986","scheme":"basic","secret":"bWExMjM0Ok1hQDEyMzQ="}}
- 这个secret没有任何加密之类的保护措施,就是
用户名:密码
,后端直接用string(secret)就看到了 - 登录的时候, 使用的是schema是basic
- 这个secret没有任何加密之类的保护措施,就是
- 服务端返回
ctrl
消息,主要内容:authlvl,token和expiresin:{"ctrl":{"id":"83986","params":{"authlvl":"auth","expires":"2020-04-06T07:55:58.504Z","token":"Q31lre9hlo6O4IpeFAABAAEAUo6b0ItShDLjnW15vXYZzvVjg2zE++bUZ6swdvVbcro=","user":"usrQ31lre9hlo4"},"code":200,"text":"ok","ts":"2020-03-23T07:55:58.441Z"}}
expires
是在配置文件的token.expire_in
里指定的token
是没有存储在数据库或者redis之类的,比较像jwt- 配置文件的
token.key
承担了盐的功能,所有的用户用都是这一个
- 客户端发送
sub
消息,订阅me这个topicout: {"sub":{"id":"83987","topic":"me","get":{"what":"sub desc tags cred"}}}
"get":{"what":"sub desc tags cred"}
获取了4个,服务端返回了响应的meta
消息;"sub desc tags cred"是msg.Sub.Get.Whatin: {"meta":{"id":"83987","topic":"me","ts":"2020-03-23T07:55:58.513Z","desc":{"updated":"2020-02-17T03:23:38.392Z","touched":"2020-02-17T03:23:38.392Z","defacs":{"auth":"JRWPAS","anon":"N"},"public":{"fn":"马兵"}}}} in: {"meta":{"id":"83987","topic":"me","ts":"2020-03-23T07:55:58.513Z","sub":[{"updated":"2020-02-17T03:24:32.548Z","acs":{"mode":"JRWPA","given":"JRWPAS","want":"JRWPA"},"read":11,"recv":11,"public":{"fn":"Alice Johnson","photo":{"data":"<8908, bytes: /9j/4AAQSkZJ...sUaqGs//2Q==>","type":"jpg"}},"topic":"usrE7cMWMo0oAU","touched":"2020-03-23T03:38:50.685Z","seq":11},{"updated":"2020-03-05T07:40:23.407Z","acs":{"mode":"JRWPA","given":"JRWPAS","want":"JRWPA"},"public":{"fn":"Bob Smith","photo":{"data":"<7236, bytes: /9j/4AAQSkZJ...30e375//2Q==>","type":"jpg"}},"topic":"usrurYOjmqq3fo","touched":"2020-03-05T07:40:23.407Z"}]}} in: {"meta":{"id":"83987","topic":"me","ts":"2020-03-23T07:55:58.516Z","tags":["basic:ma1234","email:cumt_ttr@163.com"]}} in: {"meta":{"id":"83987","topic":"me","ts":"2020-03-23T07:55:58.516Z","cred":[{"meth":"email","val":"cumt_ttr@163.com","done":true},{"meth":"email","val":"rangerforce007@gmail.com"}]}}
- 返回的
pres
消息是每个sub
消息都会有的对应消息,在0.16.4版本的login后的sub没再返回pres消息包,而是ctrl消息包in: {"pres":{"topic":"me","src":"usrE7cMWMo0oAU","what":"on"}}
in: {"ctrl":{"id":"108599","topic":"me","params":null,"code":200,"text":"ok","ts":"2020-03-27T03:47:21.591Z"}}
sub
消息的topic
为me
的时候,返回的消息的topic
也为me