【发布时间】:2021-05-16 19:01:15
【问题描述】:
我已经启动并运行了 Plaid Quickstart(节点)。
我使用沙盒凭据成功登录了其中一个沙盒机构(第一鸭嘴兽银行)并获得了它生成的 access_token。
根据链接更新模式文档 (https://plaid.com/docs/link/update-mode/),您应该能够“强制给定项目进入 ITEM_LOGIN_REQUIRED 状态”。
从我上面链接到的文档...
可以使用 /sandbox/item/reset_login 端点在沙盒中测试更新模式,这将强制给定项目进入 ITEM_LOGIN_REQUIRED 状态。
我使用 Postman(在 Sandbox Public 环境中)向此端点 https://sandbox.plaid.com/sandbox/item/reset_login 发送 API 调用,以强制进入 ITEM_LOGIN_REQUIRED 状态。
这是通过 API 调用发送的正文...
{
"client_id": "{{client_id}}",
"secret": "{{secret_key}}",
"client_name": "Insert Client name here",
"country_codes": ["US"],
"language": "en",
"user": {
"client_user_id": "unique_user_id"
},
"access_token": "{{access_token}}"
}
这是我收到的回复...
{
"expiration": "2021-02-13T04:13:12Z",
"link_token": "link-sandbox-7d82e9b8-b8a7-4977-9c20-aadbc82ec050",
"request_id": "eE56J8f5XJKpS6L"
}
...这是我的预期。
然后我返回快速入门应用程序并再次登录“第一鸭嘴兽银行”,希望收到 MFA 挑战的提示,但它只是创建了一个新的 access_token。
那么,如何让 Plaid Quickstart 应用进入链接更新模式?
更新:
根据 Alex 的问题,这是一张显示我拨打 Postman 电话的图片。他是对的,这是一个 /link/token/create 调用。它被标记为 Create Link Token - Update Mode 有什么令人困惑的地方。
更新 2:
这是 /sandbox/item/reset_login 调用和响应。响应中没有包含 link_token。
更新 3:
在 Alex 的帮助和 Plaid 支持的一些帮助之间,我得到了这个工作。
我将链接令牌放在错误的位置。
对于将来看到此内容的任何人,您需要按照以下步骤将节点快速入门应用程序置于链接更新模式。
您也可以观看this video 观看该过程的演示;但是,请注意,在视频中,我将 link_token 放在了错误的位置。下面的说明显示了如何将其放置在正确的位置。
- 获取要进入链接更新模式的机构的 access_token(假设您已安装、启动并运行快速入门应用程序。请参阅...https://plaid.com/docs/quickstart/)
- 启动快速启动后端 (/quickstart/node/start.sh)
- 启动快速入门前端 (cd /quickstart/frontend; npm start;)
- 在浏览器中的端口 3000 上启动前端后,单击“启动链接”按钮,然后单击“继续”。
- 搜索机构(例如,First Platypus Bank、First Gingham Credit Union...如果处于沙盒模式。或您自己的机构,如果处于开发模式)
- 输入您的凭据(user_good/pass_good ...如果处于沙盒模式)
- 复制 access_token
- 关闭格子浏览器标签
- 在 Postman 中(要设置它,请参阅...https://github.com/plaid/plaid-postman),输入您刚刚复制到 access_token 变量中的访问令牌(请参阅上面的第一个屏幕截图。单击右上角附近的图标看起来像一只眼睛,然后向下滚动到 access_token 并输入它。)
- 运行 /sandbox/item/reset_login 端点。它在 Postman 中被标记为“模拟 ITEM_LOGIN_REQUIRED [仅限沙盒]”。请求正文应类似于上面的第二个屏幕截图。发送请求后,响应正文应显示
"reset_login": true。现在格子项目(即机构)处于 ITEM_LOGIN_REQUIRED 模式。 - 运行 /link/token/create 端点。它在 Postman 中被标记为“创建链接令牌 - 更新模式”。请求正文应该类似于上面的第一个屏幕截图。发送请求后,响应正文应为您提供一个 link_token。复制它以供下一步使用。
- 运行 /sandbox/item/reset_login 端点。它在 Postman 中被标记为“模拟 ITEM_LOGIN_REQUIRED [仅限沙盒]”。请求正文应类似于上面的第二个屏幕截图。发送请求后,响应正文应显示
- 将 link_token 放入 Plaid 快速入门应用程序中。
- 在 /quickstart/frontend/src/App.tsx 中的 line 23 上,将
data.link_token替换为您的 link_token。所以这个dispatch({ type: "SET_STATE", state: { linkToken: data.link_token } });变成了这个dispatch({ type: "SET_STATE", state: { linkToken: "link-sandbox-704ef648-2acd-44a2-867b-ea1258e9205c" } });(当然,使用你自己的link_token,不要忘记你的link_token周围的引号。)
- 在 /quickstart/frontend/src/App.tsx 中的 line 23 上,将
- 重新启动后端和前端。当您启动 Link 时,它现在应该处于 Link Update Mode。
【问题讨论】:
标签: node.js sandbox multi-factor-authentication plaid