//lcp/org.readium.r2.lcp.auth/LcpDialogAuthentication/retrievePassphrase
retrievePassphrase¶
[androidJvm]\ open suspend override fun retrievePassphrase(license: LcpAuthenticating.AuthenticatedLicense, reason: LcpAuthenticating.AuthenticationReason, allowUserInteraction: Boolean, sender: Any?): 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¶
androidJvm
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. |
sender | Free object that can be used by reading apps to give some UX context when presenting dialogs. |