[已解决]Workerman websocket 实现必须auth认证登录后才能聊天的问题
我遇到的问题
我想在项目中实现已认证用户间的聊天,具体是通过Gateway框架中的bindUid方法将客户端id绑定用户的账号,然后sendToUid实现。
但绑定前提是需要获取用户登录的账号,很显然我并不能直接在workerman中使用auth()方法。那我该使用方式使workerman知道用户的登录状态?
目前的解决方法
用户登录账号时分配一个key给用户,用户与其他用户聊天时,传key给workerman,workerman通过key验证后,绑定这个key对应的账号(bindUid),验证失败不传数据。
我是传token去认定,不通过直接断开
jwt
认证能实现你的需求token传过去,然后自己中间件手动设置一下headers,然后手动check一下用户不就行了
方便加个好友不,我也在做这方面可以交流一下
文档有 www.workerman.net/doc/gateway-work... mvc后端uid绑定代码片段
我就是单纯的在onWebSocketConnect 里面验证token ,不通过就返401给前端