I am integrating Yodlee MFA in my application but I am facing difficulties to render MFA form when any MFA errors occurred. So Steps I follow:
- The user selects MFA form say, Dag Site SecurityQA.
- The user enters username and password and waits for MFA authentication.
- MFA form renders to site and user enters wrong credentials
- User receives refresh response with error code 523
- Now user tries to refresh the site.
Here I get refresh response as,
{
"siteRefreshStatus"=>{
"siteRefreshStatusId"=>10,
"siteRefreshStatus"=>"SITE_CANNOT_BE_REFRESHED"
},
"siteRefreshMode"=>{
"refreshModeId"=>1,
"refreshMode"=>"MFA"
},
"updateInitTime"=>0,
"nextUpdate"=>2104528345,
"code"=>523,
"suggestedFlowReason"=>{
"suggestedFlowReasonId"=>2,
"suggestedFlowReason"=>"ACCOUNT_IN_ERROR"
},
"suggestedFlow"=>{
"suggestedFlowId"=>3,
"suggestedFlow"=>"EDIT"
},
"itemRefreshInfo"=>[
{
"memItemId"=>xxxxxx,
"itemSuggestedFlow"=>{
"suggestedFlowId"=>3,
"suggestedFlow"=>"EDIT"
},
"itemSuggestedFlowReason"=>{
"suggestedFlowReasonId"=>2,
"suggestedFlowReason"=>"ACCOUNT_IN_ERROR"
},
"errorCode"=>523,
"retryCount"=>4
},
{
"memItemId"=>xxxxxx,
"itemSuggestedFlow"=>{
"suggestedFlowId"=>3,
"suggestedFlow"=>"EDIT"
},
"itemSuggestedFlowReason"=>{
"suggestedFlowReasonId"=>2,
"suggestedFlowReason"=>"ACCOUNT_IN_ERROR"
},
"errorCode"=>523,
"retryCount"=>4
}
],
"noOfRetry"=>4,
"isMFAInputRequired"=>true,
"siteAddStatus"=>{
"siteAddStatusId"=>15,
"siteAddStatus"=>"ADD_FAILURE"
},
"memSiteAccId"=>xxxxxx,
"lastRefreshCompleteTime"=>1482460665
}
which says its MFA account.
I want to open MFA authentication form for this. But when I try to fetch MFA form using /jsonsdk/Refresh/getMFAResponseForSite API,
It doesn't give me MFA form details but gives following response.
{"isMessageAvailable"=>false, "timeOutTime"=>150000, "itemId"=>0, "errorCode"=>508, "memSiteAccId"=>xxxxxx, "retry"=>false}
Even after waiting after 5-10 mins, I get the same response for MFA form.
The user needs to go for change credentials to resolve this.
Does any work on this? I directly want to open MFA form if the response has MFA-related errors.
We recommend you to please use our new Rest(Yodlee) API. Yodlee API's Swagger Tool
As you are using Rest Wrapper please follow these steps:
Please update your Step-5 with this-> Call updateSiteAccountCredentials API, then poll getMFAResponseForSite to get the MFA login form information.
When you will get "isMessageAvailable=true" in getMFAResponseForSite API's response then stop polling the API and build MFA login form accordingly.
Regards
Saurabh