2016-01-24 198 views
1

我的Socket.IO应用程序要求用户在发送消息并进行连接以读取消息而无需身份验证之前进行身份验证。使用jwt和socket认证流程

下面是基于这样的假设,该客户端将通过REST API登录,获得JWT和使用接收的令牌与插座服务器重新连接的代码示例:

var socket = io.connect('', { 
    query: 'token=' + token 
}); 

如何构建认证流程为应用程序?

回答

1

我不明白你的问题?你想知道你如何处理jwt?或者什么时候做出哪个呼叫登录并获得令牌?在我的应用程序中,用户通过休息API登录获取令牌,并且您可以像使用这些模块一样使用它https://github.com/auth0/socketio-jwt

+0

何时进行哪个呼叫以便登录并获取令牌! ,因为从头开始的用户应该连接到套接字以实时获取消息,但是需要发送正在验证的消息。 考虑我从API检索jwt令牌,如何追加到标记的socket请求。 –

+0

在这种情况下,您可以先打开套接字来阅读新邮件。然后,如果用户希望发送消息,则使用用户凭据进行登录呼叫,并在响应中获取有效的jwt。这个jwt用于使套接字事件写入消息。您也可以将jwt保存在您的应用程序中,以便只要未过期就可以使用它。如果到期,你必须再次登录。 – Sprotte

+0

是的。我想知道如果流是正确的,有没有办法在每个socket.io请求中追加令牌而不重新连接? –