0

我正在使用其余的 api。检索站点的登录表单后,我输入了错误的登录信息。我现在需要回去纠正错误。起初我尝试调用 GetSiteLoginForm,这是不允许的,因为用户已经与站点相关联。然后我尝试使用有效的 cobSessionToken 和 &siteFilter.reqSpecfier=16&siteFilter.siteId=643 访问 SiteTraversal/getSiteInfo。

我得到的回应是:

{"popularity":0,"siteId":643,"orgId":520,"defaultDisplayName":"Chase (US)","defaultOrgDisplayName":"Chase Manhattan Bank","contentServiceInfos":[{"contentServiceId": 663,"siteId":643,"containerInfo":{"containerName":"bank","assetType":1}},{"contentServiceId":10441,"siteId":643,"containerInfo":{"containerName" :"bill_payment","assetType":0}},{"contentServiceId":3163,"siteId":643,"containerInfo":{"containerName":"credits","assetType":2}},{"contentServiceId ":3483,"siteId":643,"containerInfo":{"containerName":"stocks","assetType":1}},{"contentServiceId":7100,"siteId":643,"containerInfo":{"containerName":"loans","assetType":2}},{"contentServiceId":3861,"siteId":643,"containerInfo" :{"containerName":"mortgage","assetType":2}},{"contentServiceId":12049,"siteId":643,"containerInfo":{"containerName":"miles","assetType":0} }],"enabledContainers":[{"containerName":"bank","assetType":1},{"containerName":"bill_payment","assetType":0},{"containerName":"credits"," assetType":2},{"containerName":"stocks","assetType":1},{"containerName":"loans","assetType":2},{"containerName":"mortgage","assetType":2},{"containerName":"miles","assetType":0}],"baseUrl":"http://www.chase.com/ ","loginForms":[],"isHeld":false,"isCustom":false,"siteSearchVisibility":true}

注意 loginForms 是空的。我如何获得这个值?我尝试了不同的 siteFilter.reqSpecfier 值并且总是得到相同的结果。我尝试的其他事情是同时使用我们的公共和私人网址。我也用 Dag Site 复制了所有这些。

4

2 回答 2

0

输入参数之一存在拼写错误,因为我们的 API 无法识别该参数并因此返回NullLoginForms。

[ siteFilter.reqSpecifier is incorrectly spelled as siteFilter.reqSpecfier ] 

您摘自以下电子邮件:

cobSessionToken=11182013_0%3A8e8a9caa264e3b26f15c3c9a3ee05680b2edb76272d0a425852a803e6002383b89847d388de38394b4f08efbb881536b496e323ee4e42c9df7dfdcdc8ae10e16&siteFilter.**reqSpecfier**=16&siteFilter.siteId=643

这应该是:

cobSessionToken=11182013_0%3A8e8a9caa264e3b26f15c3c9a3ee05680b2edb76272d0a425852a803e6002383b89847d388de38394b4f08efbb881536b496e323ee4e42c9df7dfdcdc8ae10e16&siteFilter.**reqSpecifier**=16&siteFilter.siteId=643

使用更正的参数,我能够查询站点 643 并获取 loginForm 数组。以下是 loginForms[] 的响应

{"popularity":0
"siteId":643
"orgId":520
"defaultDisplayName":"Chase"
"defaultOrgDisplayName":"Chase Manhattan Bank"
"contentServiceInfos":[{"contentServiceId":663}
{"contentServiceId":10441}
{"contentServiceId":3163}
{"contentServiceId":3483}
{"contentServiceId":7100}
{"contentServiceId":3861}
{"contentServiceId":12049}]
"enabledContainers":[{
"containerName":"bank","assetType":1}
{"containerName":"bill_payment","assetType":0}
{"containerName":"credits","assetType":2}
{"containerName":"stocks","assetType":1}
{"containerName":"loans","assetType":2}
{"containerName":"mortgage","assetType":2}
{"containerName":"miles","assetType":0}]
"baseUrl":"http://www.chase.com/"
"loginForms":[{"conjunctionOp":{"conjuctionOp":1}
"componentList":[
{"valueIdentifier":"LOGIN","valueMask":"LOGIN_FIELD","fieldType":{"typeName":"TEXT"},"size":20,"maxlength":32
"name":"LOGIN","displayName":"User ID","isEditable":true,"isOptional":false,"isEscaped":false,"helpText":"4710","isOptionalMFA":false
"isMFA":false},
{"valueIdentifier":"PASSWORD","valueMask":"LOGIN_FIELD","fieldType":{"typeName":"IF_PASSWORD"},"size":20,"maxlength":40
"name":"PASSWORD","displayName":"Password","isEditable":true,"isOptional":false,"isEscaped":false,"helpText":"11976","isOptionalMFA":false
"isMFA":false}
]
"defaultHelpText":"324"}]
"isHeld":false
"isCustom":false
"siteSearchVisibility":true}

这应该可以解决您的问题

问候,

维沙尔

约德利团队

于 2014-04-07T12:45:43.397 回答
0

本文UpdateCredentials Flow中列出了更新凭证的流程

您可以按照文章中的确切步骤进行操作。即使用户与特定站点相关联,您仍然可以使用 getSiteLoginForm 拉取登录表单并向用户显示表单以输入正确的凭据,然后在updateSiteAccountCredentials中传递登录表单,然后继续正常的刷新流程。

于 2014-04-07T20:33:06.977 回答