令牌到期后更新Socket.IO的授权令牌

时间:2020-06-21 11:37:20

标签: ios swift sockets websocket socket.io

我按照以下步骤建立了socket.io连接:

socketManager.config = SocketIOClientConfiguration(
    arrayLiteral: .compress, .connectParams(["Authorization": getUserAccessToken() ?? ""])
)
    
socket = socketManager.defaultSocket
socket.connect()

这可以正常工作,但是token在一段时间后会过期,并且发生这种情况时,服务器会发送一条消息,由我在此处处理:

 socket.on(NEW_TOKEN) { (data, ack) in
    if let dat = data[0] as? [String: Any] {
        if let token = dat["tok"] as? String 
            {
                updateUserAccessToken(accessToken: token)
            }
    }
 }

发生这种情况时,我是否还需要更新SocketIOClientConfiguration才能使用新令牌,还是默认情况下会发生这种情况,因为每次使用{{1}发送新消息时,它将获取该令牌。 }方法?

因此,getUserAccessToken是在上面初始化套接字时设置一次,然后又未更改,还是每次发送消息时都执行该代码段,以便使用来获取最新的令牌SocketIOClientConfiguration方法?

0 个答案:

没有答案