retrievePassphrase

open suspend override fun retrievePassphrase(license: LcpAuthenticating.AuthenticatedLicense, reason: LcpAuthenticating.AuthenticationReason, allowUserInteraction: Boolean): String?

Retrieves the passphrase used to decrypt the given license.

If allowUserInteraction is true, the reading app can prompt the user to enter the passphrase. Otherwise, use a background retrieval method (e.g. web service) or return null.

The returned passphrase can be clear or already hashed.

You can implement an asynchronous pop-up with callbacks using suspendCoroutine:

suspendCoroutine<String?> { cont ->
cancelButton.setOnClickListener {
cont.resume(null)
}

okButton.setOnClickListener {
cont.resume(passwordEditText.text.toString())
}

// show pop-up...
}

Parameters

license

Information to show to the user about the license being opened.

reason

Reason why the passphrase is requested. It should be used to prompt the user.

allowUserInteraction

Indicates whether the user can be prompted for their passphrase.