Flutter中firebase_auth与WebSocket结合的认证会话维持方案咨询
可行方案方向
- 初始连接传递token:WebSocket建立连接时,将当前有效idToken放在连接URL的查询参数中,服务端解析后验证token合法性,创建会话并关联该token与用户标识。
- 监听token刷新并同步:利用
firebase_auth提供的token刷新监听机制,当客户端idToken自动刷新后,立即通过已建立的WebSocket发送一条携带新token和会话标识的专属消息,服务端收到后更新对应会话存储的token。 - 服务端主动校验与触发更新:服务端在处理WebSocket消息前,先校验会话中存储的idToken有效性;若token已失效,向客户端发送"需更新token"的指令,客户端收到后推送最新的有效idToken到服务端更新会话。
- HTTP预校验生成会话ID:先通过HTTP接口提交idToken完成身份验证,服务端生成短期会话ID返回给客户端;客户端使用该会话ID建立WebSocket连接,服务端通过会话ID关联用户信息与token。后续token刷新时,同样通过HTTP接口提交新token更新会话绑定的凭证。
内容的提问来源于stack exchange,提问作者Asdfg
相关产品推荐
相关产品推荐

