格子是否改变了它的 MFA?

Did Plaid Change Something About It's MFA?

我有这段代码可以完美地返回帐户和交易对象以响应 Plaid MFA 问题。我不确定出了什么问题,因为我(直到它停止工作,我已经尝试了一些事情)没有接触代码(据我回忆),甚至检查了几个以前的工作版本是安全的。无论如何,我现在得到以下给定场景的错误列表:

1) 如果我尝试使用美国银行 MFA,它 returns 一个 MFA,在我回答它之后还 returns 一个账户和交易对象。在我的终端中该信息的末尾,它还 returns events.js 85 throw er; // 未处理的错误事件

2) 如果我尝试使用 USAA 或 Bank of America,我的响应会收到以下错误对象:

{ code: 1203,
  message: 'invalid mfa',
  resolve: 'The MFA response provided was not correct.',
  access_token: 'test_bofa' }

它 returns 虽然是 MFA 问题,当我用 'again' 回答时,我得到:

{ type: 'questions',
  mfa: [ { question: 'You say tomato, I say...?' } ],
  access_token: 'test_bofa' }

events.js:85 扔呃; // 未处理的 'error' 事件

    plaid.connect({username: req.body.cardName, password: req.body.cardPass, pin: req.body.pin}, req.body.type,
        'test@plaid.com',
        function (error, response, mfa) {
            if (response == undefined) {
                res.send(response);
            } else if (response.hasOwnProperty('accounts')) {
                res.send(response);
            } else if (response.hasOwnProperty("mfa")) {
                res.send(response);//If I remove this response it kicks me out right away. But with it, I receive an undefined MFA response.
                plaid.step(response.access_token, req.body.answer, function (err, response) {
                        if (response == undefined) {
                            res.send(response);
                        } else if (response.hasOwnProperty("resolve")) {
                            res.send(response);
                        } else if (response.hasOwnProperty('accounts')) {
                            res.send(response);
                        } else if (response.hasOwnProperty('mfa')) {
                            res.send(response);
                        }
                    }
                )
            }

             else {
                response = "error";
                response.send("something went wrong with Plaid");
            }
        }
    )
}

据我所知,在测试期间,mfa 代码应该是字符串或数组(如果问题很少)。因此,如果您将 mfa 作为 int 输入,则会出现错误。

'again' mfa 将再调用一个 mfa 循环,'tomato' 将完成它。