如何在 Plaid Sandbox Quickstart 应用程序 (node.js) 中调用 Link 更新模式?
How do I invoke Link Update Mode in the Plaid Sandbox Quickstart app (node.js)?
我已经启动了 Plaid Quickstart(节点)并且 运行。
我使用沙盒凭据成功登录了其中一个沙盒机构(First Platypus Bank)并获得了它生成的 access_token。
根据 Link 更新模式文档 (https://plaid.com/docs/link/update-mode/),您应该能够“强制给定项目进入 ITEM_LOGIN_REQUIRED 状态”。
从我 link 编辑到上面的文档...
Update mode can be tested in the Sandbox using the /sandbox/item/reset_login endpoint, which will force a given Item into an ITEM_LOGIN_REQUIRED state.
我使用 Postman(在沙盒 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"
}
...这是我所期望的。
然后我回到 Quickstart 应用程序并再次登录“First Platypus Bank”,希望收到 MFA 挑战提示,但它只是创建了一个新的 access_token。
那么,如何让 Plaid Quickstart 应用程序进入 Link 更新模式?
更新:
根据 Alex 的问题,这是一张显示我拨打的 Postman 电话的图片。他是对的,这是一个 /link/token/create 电话。令人困惑的是它被标记为 Create Link Token - Update Mode.
更新二:
这是 /sandbox/item/reset_login 调用和响应。响应中没有 link_token。
更新 3:
在 Alex 的帮助和 Plaid 支持人员的帮助下,我成功了。
我把 link 标记放错了地方。
对于以后看到此内容的任何人,以下是让节点快速启动应用程序进入 Link 更新模式所需遵循的步骤。
您还可以观看 this video 以查看该过程的演示;但是,请注意,在视频中,我将 link_token 放在了错误的位置。下面的说明显示了如何将其放在正确的位置。
- 为您想要进入 Link 更新模式的机构获取 access_token(假设您已经安装了快速启动应用程序,并且 运行。请参阅... https://plaid.com/docs/quickstart/)
- 启动快速启动后端 (/quickstart/node/start.sh)
- 启动快速启动前端 (cd /quickstart/frontend; npm start;)
- 前端在浏览器中的端口 3000 上启动后,单击“启动 Link”按钮,然后单击“继续”。
- 搜索机构(例如,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 中被标记为“Simulate ITEM_LOGIN_REQUIRED [Sandbox only]”。请求正文应类似于上面的第二个屏幕截图。发送请求后,响应正文应显示
"reset_login": true
。现在格子物品(即机构)处于 ITEM_LOGIN_REQUIRED 模式。
- 运行 /link/token/create 端点。它在 Postman 中被标记为“创建 Link 令牌 - 更新模式”。请求正文应类似于上面的第一个屏幕截图。发送请求后,响应正文应该给你一个 link_token。复制它用于下一步。
- 将 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 周围的引号。)
- 重新启动后端和前端。当您启动 Link 时,它现在应该处于 Link 更新模式。
您描述的过程听起来不错,但是您 post 中的 API 请求和响应主体是 /link/token/create 的请求和响应,而不是 /sandbox/item/reset_login。你能确认你没有不小心调用 /link/token/create 而不是调用 /sandbox/item/reset_login 吗?
我已经启动了 Plaid Quickstart(节点)并且 运行。
我使用沙盒凭据成功登录了其中一个沙盒机构(First Platypus Bank)并获得了它生成的 access_token。
根据 Link 更新模式文档 (https://plaid.com/docs/link/update-mode/),您应该能够“强制给定项目进入 ITEM_LOGIN_REQUIRED 状态”。
从我 link 编辑到上面的文档...
Update mode can be tested in the Sandbox using the /sandbox/item/reset_login endpoint, which will force a given Item into an ITEM_LOGIN_REQUIRED state.
我使用 Postman(在沙盒 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"
}
...这是我所期望的。
然后我回到 Quickstart 应用程序并再次登录“First Platypus Bank”,希望收到 MFA 挑战提示,但它只是创建了一个新的 access_token。
那么,如何让 Plaid Quickstart 应用程序进入 Link 更新模式?
更新:
根据 Alex 的问题,这是一张显示我拨打的 Postman 电话的图片。他是对的,这是一个 /link/token/create 电话。令人困惑的是它被标记为 Create Link Token - Update Mode.
更新二:
这是 /sandbox/item/reset_login 调用和响应。响应中没有 link_token。
更新 3:
在 Alex 的帮助和 Plaid 支持人员的帮助下,我成功了。
我把 link 标记放错了地方。
对于以后看到此内容的任何人,以下是让节点快速启动应用程序进入 Link 更新模式所需遵循的步骤。
您还可以观看 this video 以查看该过程的演示;但是,请注意,在视频中,我将 link_token 放在了错误的位置。下面的说明显示了如何将其放在正确的位置。
- 为您想要进入 Link 更新模式的机构获取 access_token(假设您已经安装了快速启动应用程序,并且 运行。请参阅... https://plaid.com/docs/quickstart/)
- 启动快速启动后端 (/quickstart/node/start.sh)
- 启动快速启动前端 (cd /quickstart/frontend; npm start;)
- 前端在浏览器中的端口 3000 上启动后,单击“启动 Link”按钮,然后单击“继续”。
- 搜索机构(例如,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 中被标记为“Simulate ITEM_LOGIN_REQUIRED [Sandbox only]”。请求正文应类似于上面的第二个屏幕截图。发送请求后,响应正文应显示
"reset_login": true
。现在格子物品(即机构)处于 ITEM_LOGIN_REQUIRED 模式。 - 运行 /link/token/create 端点。它在 Postman 中被标记为“创建 Link 令牌 - 更新模式”。请求正文应类似于上面的第一个屏幕截图。发送请求后,响应正文应该给你一个 link_token。复制它用于下一步。
- 运行 /sandbox/item/reset_login 端点。它在 Postman 中被标记为“Simulate ITEM_LOGIN_REQUIRED [Sandbox only]”。请求正文应类似于上面的第二个屏幕截图。发送请求后,响应正文应显示
- 将 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 更新模式。
您描述的过程听起来不错,但是您 post 中的 API 请求和响应主体是 /link/token/create 的请求和响应,而不是 /sandbox/item/reset_login。你能确认你没有不小心调用 /link/token/create 而不是调用 /sandbox/item/reset_login 吗?