Android Mobile SDK 2.1.7: launchCaptiveSigning() throws "DSAuthUser data is null" even with valid Integration Key (URL-based captive signing)
Using the Android Mobile SDK (com.docusign:androidsdk:2.1.7) to launch
captive/embedded signing from a pre-generated signing URL (obtained
server-side via the eSignature REST API's EnvelopeViews: createRecipient),
not via SDK-driven OAuth login — our app's signers don't have their own
DocuSign accounts.
Setup:
DocuSign.init(context, integratorKey, DSMode.DEBUG)
// integratorKey is a real, valid Integration Key from Apps and Keys
Call:
DocuSign.getInstance().getSigningDelegate()
.launchCaptiveSigning(activity, signingUrl, envelopeId, listener)
DocuSign.init() succeeds with no error. But launchCaptiveSigning() always
fails before the signing UI ever appears, with:
com.docusign.androidsdk.exceptions.DSAuthenticationException:
DSAuthUser data is null
Full stack trace shows the failure originates inside the SDK's own
envelope fetch:
E DocuSign_Auth: DSAuthUser is null
E DocuSign_EnvelopeRepository: Error while fetching the envelope
com.docusign.androidsdk.exceptions.DSAuthenticationException:
DSAuthUser data is null
at com.docusign.androidsdk.domain.db.repository.EnvelopeRepository
.fetchEnvelopeSingle$lambda$78(EnvelopeRepository.kt:2003)
This reproduces 100% of the time, on every fresh session, with a real
envelope and a real Integration Key.
On iOS, the equivalent SDK call —
DSMEnvelopesManager.presentCaptiveSigningWithPresentingController:
signingUrl:envelopeId:recipientId:animated:completion: — works exactly as
documented: no SDK login/auth needed at all, and the signing ceremony
completes successfully end-to-end using only the signing URL.
Looking at the Android SDK's DSAuthenticationDelegate, there IS a
loginWithAccessToken method that would match iOS's no-login pattern, but
it's declared private — not callable from app code. Every public login()
overload requires a Context + DSAuthenticationListener and appears to
drive DocuSign's own interactive OAuth/login UI, which isn't usable for
our use case (headless, signer has no DocuSign account).
Questions:
1. Is an authenticated SDK session genuinely required for
launchCaptiveSigning() on Android, unlike iOS's URL-based method?
2. If so, is there a supported way to authenticate silently with a
pre-obtained token/session (matching iOS's loginWithAccessToken),
or is the interactive login() flow the only option?
3. Is this a known gap versus the iOS SDK, and is there a newer SDK
version or an undocumented setup step that resolves it?
Back to Docusign.com

