Search code examples
yodlee

How to proceed with MFA with Multi-Level situations?


I'm having some difficulties implementing the MFA workflow with Yodlee. The workflow does not specify how to proceed with multi-level banks, for example, when a bank asks for a phone number to send an SMS with a temporary PIN.

{
    isMessageAvailable: true
    fieldInfo: {
        responseFieldType: "text"
        minimumLength: -1
        maximumLength: 25
        displayString: "Enter your Mobile Number or eMail ID where to send the temporary PIN"
    } -
    timeOutTime: 111750
    itemId: 0
    memSiteAccId: xxxxxxxx
    retry: false
}

In this situation, what do I have to do? Keep calling the getMFAResponseForSite every 2 seconds?

Also, in order to perform the putMFARequestForSite, which type should I use?

com.yodlee.core.mfarefresh.MFATokenResponse
com.yodlee.core.mfarefresh.MFAQuesAnsResponse
com.yodlee.core.mfarefresh.MFAImageResponse

Solution

  • As there are 3 types of MFA (to know about types of MFA refer what-is-the-mfa-differences-spotted-in-this-case

    To differentiate you can use the response of getMFAResponseForSite.

    1. SECURITY_QUESTION - The response from getMFAResponseForSite looks like -

    fieldInfo":{ "questionAndAnswerValues":[ {

    hence you need to use com.yodlee.core.mfarefresh.MFAQuesAnsResponse

    1. IMAGE - The response from getMFAResponseForSite looks like -

    fieldInfo":{ "responseFieldType":"text", "imageFieldType":"image", "image":[

    hence you need to use com.yodlee.core.mfarefresh.MFAImageResponse

    1. TOKEN_ID - The response from getMFAResponseForSite looks like -

    fieldInfo":{ "responseFieldType":"text"

    Since there will not be any indication of Q&A or Image hence you need to use com.yodlee.core.mfarefresh.MFATokenResponse

    You can also check the various responses of MFA at getMFAResponseForSite and getMFAResponse. The fieldInfo returned in both the methods will be same and hence can be used to identify the type of MFA.

    Hence in case of multilevel MFA you will have to use any combination of the 3 listed MFA types.