com.ibm.security.access.mobile.authentication

Class FingerprintChallenge

  • java.lang.Object
    • android.hardware.fingerprint.FingerprintManager.AuthenticationCallback
      • com.ibm.security.access.mobile.authentication.FingerprintChallenge
  • All Implemented Interfaces:
    android.os.Parcelable, IChallenge


    public final class FingerprintChallenge
    extends android.hardware.fingerprint.FingerprintManager.AuthenticationCallback
    implements IChallenge
    The fingerprint challenge mechanism is an Android Fingerprint ID prompt for validation of an enrolled fingerprint.
    Since:
    1.2.0
    Version:
    1.2.8
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface android.os.Parcelable

        android.os.Parcelable.ClassLoaderCreator<T>, android.os.Parcelable.Creator<T>
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static android.os.Parcelable.Creator<FingerprintChallenge> CREATOR
      Creates an instance from a parcel.
      • Fields inherited from interface android.os.Parcelable

        CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      int describeContents()
      Returns a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
      java.util.HashMap<java.lang.String,java.lang.Object> getChallengeData()
      Returns the challengeData of the mechanism.
      java.lang.String getChallengeText()
      Returns the text representing the server challenge which requires signing.
      java.lang.String getDescription()
      Returns the description of the mechanism.
      java.lang.String getIdentifier()
      Returns the identifier of the mechanism.
      java.lang.String[] getKeyHandles()
      Returns an array of String representing names of key handles.
      java.lang.String getKeyName()
      Returns the type's identifier, used to access the private key in the key store.
      java.lang.String getMessagePrompt()
      Returns the message to display in the alert when prompted.
      java.lang.String getName()
      Returns the name of the mechanism.
      java.lang.String getPostbackUri()
      Returns the postback URI of the mechanism.
      java.lang.String getState()
      Returns the unique identifier of the mechanism request.
      java.lang.String getType()
      Returns the type of enrollment challenge.
      void launchUI(android.app.Activity activity, IChallengeCallbackHandleUserInput callback)
      Launches the Fingerprint dialog for LocalAuthentication.
      void onAuthenticationSucceeded(android.hardware.fingerprint.FingerprintManager.AuthenticationResult result)
      Signs the challengeText when the user has successfully authenticated with its fingerprint.
      IChallenge parse(org.json.JSONObject data)
      Returns an instance of IChallenge parsed from the object, or null if data cannot be parsed.
      void setChallengeData(java.util.HashMap<java.lang.String,java.lang.Object> challengeData)
      Set the challengeData of the mechanism.
      void setKeyName(java.lang.String keyName)
      Set the type's identifier, used to access the private key in the key store.
      void setPostbackUri(java.lang.String postbackUri)
      Set the postback URL of the mechanism.
      void setState(java.lang.String state)
      Set the unique identifier of the mechanism request.
      void writeToParcel(android.os.Parcel parcel, int i)
      Writes the object into a parcel.
      • Methods inherited from class android.hardware.fingerprint.FingerprintManager.AuthenticationCallback

        onAuthenticationError, onAuthenticationFailed, onAuthenticationHelp
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CREATOR

        public static final android.os.Parcelable.Creator<FingerprintChallenge> CREATOR
        Creates an instance from a parcel.
        Since:
        1.2.2
    • Constructor Detail

      • FingerprintChallenge

        public FingerprintChallenge()
        Returns an instance containing a new IChallenge.
      • FingerprintChallenge

        public FingerprintChallenge(java.lang.String messagePrompt)
        Returns an instance containing a new IChallenge with a message.
        Parameters:
        messagePrompt - the message to display.
        Throws:
        java.lang.IllegalArgumentException - if parameter is null
    • Method Detail

      • writeToParcel

        public void writeToParcel(android.os.Parcel parcel,
                                  int i)
        Writes the object into a parcel.
        Specified by:
        writeToParcel in interface android.os.Parcelable
        Parameters:
        parcel - the parcel where the object is written into
        i - flags about how the object should be written
        Since:
        1.2.2
      • describeContents

        public int describeContents()
        Returns a bitmask indicating the set of special object types marshaled by this Parcelable object instance.
        Specified by:
        describeContents in interface android.os.Parcelable
        Returns:
        bitmask indicating the set of special object types
        Since:
        1.2.2
      • getName

        public java.lang.String getName()
        Returns the name of the mechanism.
        Returns:
        the name of the mechanism
      • getChallengeData

        public java.util.HashMap<java.lang.String,java.lang.Object> getChallengeData()
        Returns the challengeData of the mechanism.
        Returns:
        the challengeData of the mechanism
      • setChallengeData

        public void setChallengeData(java.util.HashMap<java.lang.String,java.lang.Object> challengeData)
        Set the challengeData of the mechanism.
        Parameters:
        challengeData - the data to be set
        Throws:
        java.lang.IllegalArgumentException - if parameter is null
      • setPostbackUri

        public void setPostbackUri(java.lang.String postbackUri)
        Set the postback URL of the mechanism.
        Specified by:
        setPostbackUri in interface IChallenge
        Parameters:
        postbackUri - the postback URL to be set
        Throws:
        java.lang.IllegalArgumentException - if parameter is null
      • getType

        public java.lang.String getType()
        Returns the type of enrollment challenge.
        Returns:
        the type of enrollment challenge
      • getPostbackUri

        public java.lang.String getPostbackUri()
        Returns the postback URI of the mechanism.
        Specified by:
        getPostbackUri in interface IChallenge
        Returns:
        the postback URI of the mechanism
      • getState

        public java.lang.String getState()
        Returns the unique identifier of the mechanism request.
        Specified by:
        getState in interface IChallenge
        Returns:
        unique identifier of the mechanism request
      • setState

        public void setState(java.lang.String state)
        Set the unique identifier of the mechanism request.
        Specified by:
        setState in interface IChallenge
        Parameters:
        state - unique identifier to be set
        Throws:
        java.lang.IllegalArgumentException - if parameter is null
      • getMessagePrompt

        public java.lang.String getMessagePrompt()
        Returns the message to display in the alert when prompted.
        Specified by:
        getMessagePrompt in interface IChallenge
        Returns:
        the message to display in the alert
      • getIdentifier

        public java.lang.String getIdentifier()
        Returns the identifier of the mechanism. For example: urn:ibm:security:authentication:asf:mechanism:hotp
        Specified by:
        getIdentifier in interface IChallenge
        Returns:
        identifier of the mechanism
      • getDescription

        public java.lang.String getDescription()
        Returns the description of the mechanism.
        Specified by:
        getDescription in interface IChallenge
        Returns:
        description of the mechanism
      • parse

        public IChallenge parse(org.json.JSONObject data)
        Returns an instance of IChallenge parsed from the object, or null if data cannot be parsed.
        Specified by:
        parse in interface IChallenge
        Parameters:
        data - the object to deserialize from.
        Returns:
        an instance of FingerprintChallenge or null if data cannot be parsed
      • getChallengeText

        public java.lang.String getChallengeText()
        Returns the text representing the server challenge which requires signing.
        Returns:
        text representing the server challenge which requires signing.
      • getKeyName

        public java.lang.String getKeyName()
        Returns the type's identifier, used to access the private key in the key store. Only one challenge of this type can be enrolled, so there's no overlap.
        Returns:
        the name of the key in the key store
      • setKeyName

        public void setKeyName(java.lang.String keyName)
        Set the type's identifier, used to access the private key in the key store.
        Parameters:
        keyName - the name of the key in the key store
        Throws:
        java.lang.IllegalArgumentException - if parameter is null
      • getKeyHandles

        public java.lang.String[] getKeyHandles()
        Returns an array of String representing names of key handles.
        Returns:
        array of String representing names of key handles.
      • launchUI

        public void launchUI(android.app.Activity activity,
                             IChallengeCallbackHandleUserInput callback)
        Launches the Fingerprint dialog for LocalAuthentication.
        Specified by:
        launchUI in interface IChallenge
        Parameters:
        callback - The function delegate that is invoked with the ChallengeResult
        Throws:
        java.lang.IllegalArgumentException - if any parameter is null
        java.lang.UnsupportedOperationException - if Android API level is < 23
        java.lang.UnsupportedOperationException - if no Fingerprint hardware is detected
      • onAuthenticationSucceeded

        public void onAuthenticationSucceeded(android.hardware.fingerprint.FingerprintManager.AuthenticationResult result)
        Signs the challengeText when the user has successfully authenticated with its fingerprint.
        Overrides:
        onAuthenticationSucceeded in class android.hardware.fingerprint.FingerprintManager.AuthenticationCallback
        Parameters:
        result - the FingerprintManager.AuthenticationResult object from the FingerprintManager