背景
我使用的是较新的Yodlee Aggregation API,它与我之前建立的不同。
我目前正在帐户注册流程中使用此端点来放置MFA响应:
PUT /{cobrandName}/v1/providers/{providerAccountId}
我的请求如下:
{
url: `${this.rest}providers/${providerAccountId}`,
headers: {
'Authorization': `cobSession=${self.appToken}, userSession=${token}`
},
form: {
'MFAChallenge': JSON.stringify(newMfa)
}
}
其中this.rest
是我的个人休息网址,providerAccountId
是刷新的适当providerAccountId,self.appToken
是当前的cobrand会话令牌,token
是当前用户的登录令牌,newMfa
是一个字符串化的JSON对象,匹配此配置文件:
{
"loginForm": {
"mfaTimeout": 94650,
"formType": "questionAndAnswer",
"row": [
{
"id": "SQandA--QUESTION_1--Row--1",
"fieldRowChoice": "0001",
"form": "0001",
"label": "What is the name of your state?",
"field": [
{
"id": "SQandA_QUESTION_1_1",
"name": "QUESTION_1",
"isOptional": false,
"value": "Enter the answer",
"valueEditable": true,
"type": "text"
}
]
},
{
"id": "SQandA--QUESTION_2--Row--2",
"fieldRowChoice": "0001",
"form": "0001",
"label": "What is the name of your first school",
"field": [
{
"id": "SQandA_QUESTION_2_2",
"name": "QUESTION_2",
"isOptional": false,
"value": "Enter the answer",
"valueEditable": true,
"type": "text"
}
]
}
]
}
,exeption是value
对象的field
字段,已根据说明使用PKI加密。
问题
但是,当我执行此PUT
请求时,我从Yodlee那里收到此错误:
{ errorCode: 'Y803',
errorMessage: 'MFAChallenge or providerParam required',
referenceCode: 'p1460412835654A4Q24t' }
虽然我的表格中明显有一个MFAChallenge参数。如果MFAChallenge存在,我可以获得此错误的任何想法(并注意它是唯一通过PUT请求而不是通过头或url参数传递的信息)?我尝试将其作为body
数据进行处理,但这似乎不起作用,并且很少有API端点实际上似乎使用body
而不是表单编码字符串,尽管至少有一个。
答案 0 :(得分:0)
您必须将此信息作为URL的一部分发送MFAChallenge,请参阅下面的示例
https://developer.api.yodlee.com/ysl/restserver/v1/providers的 / 10114184?MFAChallenge = 强>%7B%20%22loginForm%22%3A%20%7B%20%20%20%20%20%22mfaTimeout%22%3A %2094650%2C%20%20%20%20%20%22formType%22%3A%20%22questionAndAnswer%22%2C%20%20%20%20%20%22row%22%3A%20%5B%20 %20%20%20%20%7B%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22SQandA - QUESTION_1 - 行 - 1%22% 2C%20%20%20%20%20%20%20%20%20%22fieldRowChoice%22%3A%20%220001%22%2C%20%20%20%20%20%20%20%20% 20%22form%22%3A%20%220001%22%2C%20%20%20%20%20%20%20%20%20%22label%22%3A%20%22What%图20是%第二十条%20name% 20of%20your%20state%3F%22%2C%20%20%20%20%20%20%20%20%20%22field%22%3A%20%5B%20%20%20%20%20% 20%20%20%20%20%20%20%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%22id%22%3A%20%22SQandA_QUESTION_1_1%22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 22name%22%3A%20%22QUESTION_1%22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22isOptional% 22%3A%20false%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%20% 22Enter%第二十条%20answer%22%2C%20%20%20%20%20%20%20%2 0%20%20%20%20%20%20%20%20%20%22valueEditable%22%3A%20true%2C%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%22type%22%3A%20%22text%22%20%20%20%20%20%20%20%20%20%20%20%20% 20%7D%20%20%20%20%20%20%20%20%20%5D%20%20%20%20%20%7D%2C%20%20%20%20%20%7B% 20%20%20%20%20%20%20%20%20%22id%22%3A%20%22SQandA - QUESTION_2 - 行 - 2%22%2C%20%20%20%20%20 %20%20%20%20%22fieldRowChoice%22%3A%20%220001%22%2C%20%20%20%20%20%20%20%20%20%22form%22%3A%20%220001 %22%2C%20%20%20%20%20%20%20%20%20%22label%22%3A%20%22What%图20是%第二十条%20name%20of%20your%20first%20school%22%2C %20%20%20%20%20%20%20%20%20%22field%22%3A%20%5B%20%20%20%20%20%20%20%20%20%20%20 %20%20%7B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22id%22%3A%20%22SQandA_QUESTION_2_2 %22%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22name%22%3A%20%22QUESTION_2%22 %2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22isOptional%22%3A%20false%2C%20%20 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%20%22Enter%第二十条%20answer%22%2C%20 % 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22valueEditable%22%3A%20true%2C%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%22type%22%3A%20%22text%22%20%20%20%20%20%20% 20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%5D%20%20%20%20%20%7D%20%图5D%20%7D