guru buddy
guru buddy

Reputation: 25

implement multifactor authentication in docusign

I am looking for solutions for the following questions in docusign node sdk. 1.how do we implement the multifactor authentication using docusgin node sdk. 2.how to display user information in template using embedded signing.

Upvotes: 2

Views: 617

Answers (2)

Ergin
Ergin

Reputation: 9356

DocuSign currently offers up to nine (9) different forms of recipient authentication, you can read the docs and the website to see the full list. Two of the more popular recipient authentication flows when using the API are Access Code and SMS. In both methods a unique code is used to access the envelope.

With Access Code it's up to the sender how to deliver a sender-defined code to the recipient (i.e. they can call and give it to them, email it, or send through some other means). SMS Auth is the same concept except the DocuSign platform generates a unique code instead of it being sender-defined, and the code is sent through SMS to their mobile phone.

To add Access Code authentication for a recipient:

{
    "status": "sent",
    "emailSubject": "Envelope with Access Code Auth",
    "documents": [{
        "documentId": "1",
        "name": "contract.pdf",
        "documentBase64": "base64 document bytes...",
    }],
    "recipients": {
        "signers": [{
            "email": "[email protected]",
            "name": "John Doe",
            "accessCode": "99999",
            "recipientId": "1",
            "clientUserId": "100"
        }]
    }
}

The maximum length for an access code is 50 characters. Note that the above recipient would be set to sign in embedded fashion since their clientUserId is set.

To add SMS you need to use the composite templates feature (note that you do not need to include an actual template if you do not want to, just remove the serverTemplates node in that case):

{
    "status": "sent",
    "emailSubject": "Please sign this for me",
    "compositeTemplates": [{
        "serverTemplates": [{
            "sequence": "1",
            "templateId": "[TEMPLATE_ID]"
        }],
        "inlineTemplates": [{
            "sequence": "1",
            "recipients": {
                "signers": [{
                    "name": "[SIGNER_NAME]",                
                    "email": "[SIGNER_EMAIL]",              
                    "routingOrder": "1",
                    "requireIdLookup": true,
                    "recipientId": "1",
                    "idCheckConfigurationName": "SMS Auth $",
                    "smsAuthentication": {
                        "senderProvidedNumbers": [
                            "1234567890"
                        ]
                    }
                }]
            }
        }]
    }]
}

Replace "1234567890" with the recipient's mobile phone number. Note that the idCheckConfigurationName property must be set to "SMS Auth $".

Upvotes: 1

Scott Tucker
Scott Tucker

Reputation: 3

When you say multi-factor authentication are you referring to "Access Code", "Phone", "SMS", or "Knowledge Based" authentication? If so take a look at EnvelopeRecipients Create in the API documentation, specifically the signer definition. The attributes I would look at are "requireIdLookup", "accessCode", "idCheckConfigurationName", "idCheckInformationInput", "phoneAuthentication", "smsAuthentication", & "socialAuthentications".

Another way to achieve this would be to use SSO and have your Identity Provider require multi-factor authentication.

Upvotes: 0

Related Questions