TotpSecret
public interface TotpSecret
Represents a TOTP secret that is used for enrolling a TOTP second factor. Contains the shared secret key and other parameters to generate time-based one-time passwords. Implements methods to retrieve the shared secret key, generate a QR code URL, and open the QR code URL in an OTP authenticator app.
Summary
Public methods |
|
|---|---|
abstract @NonNull String |
Returns a QR code URL. |
abstract @NonNull String |
generateQrCodeUrl(@NonNull String accountName, @NonNull String issuer)Returns a QR code URL. |
abstract int |
Returns the interval (in seconds) when the OTP codes should change. |
abstract int |
Returns the length of the OTP codes to be generated. |
abstract long |
Returns the timestamp (in seconds since epoch) by which enrollment should complete. |
abstract @NonNull String |
Returns the hashing algorithm used to generate time-based one-time passwords. |
abstract @NonNull String |
Returns the enrollment session. |
abstract @NonNull String |
Returns the shared secret key/seed used to generate time-based one-time passwords. |
abstract void |
openInOtpApp(@NonNull String qrCodeUrl)Opens the specified QR Code URL in an OTP authenticator app on the device as a new Activity. |
abstract void |
Opens the specified QR Code URL in an OTP app on the device. |
Public methods
generateQrCodeUrl
abstract @NonNull String generateQrCodeUrl()
Returns a QR code URL. For more details, see Key-Uri-Format. You can display this URL to the end-user as a QR code to be scanned into an OTP authenticator app, like Google Authenticator. Alternatively, you can automatically load this URL into a TOTP authenticator app using openInOtpApp.
generateQrCodeUrl
abstract @NonNull String generateQrCodeUrl(@NonNull String accountName, @NonNull String issuer)
Returns a QR code URL. For more details, see Key-Uri-Format. You can display this URL to the end-user as a QR code to be scanned into an OTP authenticator app, like Google Authenticator. Alternatively, you can automatically load this URL into a TOTP authenticator app using openInOtpApp.
getCodeIntervalSeconds
abstract int getCodeIntervalSeconds()
Returns the interval (in seconds) when the OTP codes should change.
| Returns | |
|---|---|
int |
The interval (in seconds) when the OTP codes should change. |
getCodeLength
abstract int getCodeLength()
Returns the length of the OTP codes to be generated.
| Returns | |
|---|---|
int |
Length of the one-time passwords to be generated. |
getEnrollmentCompletionDeadline
abstract long getEnrollmentCompletionDeadline()
Returns the timestamp (in seconds since epoch) by which enrollment should complete.
| Returns | |
|---|---|
long |
The timestamp (in seconds since epoch) by which enrollment should complete. |
getHashAlgorithm
abstract @NonNull String getHashAlgorithm()
Returns the hashing algorithm used to generate time-based one-time passwords.
getSharedSecretKey
abstract @NonNull String getSharedSecretKey()
Returns the shared secret key/seed used to generate time-based one-time passwords.
openInOtpApp
abstract void openInOtpApp(@NonNull String qrCodeUrl)
Opens the specified QR Code URL in an OTP authenticator app on the device as a new Activity. The shared secret key and account name will be populated in the OTP authenticator app. The URL uses the otpauth:// scheme and will be opened on an app that handles this scheme, if it exists on the device.
If a suitable OTP authenticator app was not found, this opens the Google Play Store instead, using the following URL: https://play.google.com/store/search?q=otpauth&c=apps.
openInOtpApp
abstract void openInOtpApp(
@NonNull String qrCodeUrl,
@NonNull String fallbackUrl,
@NonNull Activity activity
)
Opens the specified QR Code URL in an OTP app on the device. The shared secret key and account name will be populated in the OTP app. The URL uses the otpauth:// scheme and will be opened on an app that handles this scheme, if it exists on the device.