Skip to content

TouchId

Andy Johns edited this page Feb 19, 2016 · 1 revision

####Description: Simple validation of device owner via biometrics (fingerprint)

Determine if device supports biometric identification: Method: GET

URL: http://pmapi/touchid

Output: JSON Dictionary indicating if device supports biometric identification


Example Output JSONs

If biometric identification is supported:

{

  "supported": "true"

}

If biometric identification is not supported:

{

  "supported": "false",
  "fail-reason" : "TouchIDNotEnrolled"

}

Determine if current user is device owner: Calling this service will prompt the user to provide their fingerprint

Method: GET

URL: http://pmapi/touchid/validate?prompt=promptstring

Input: Prompt query string parameter is an optional parameter. If present, this string will appear on the fingerprint prompt UI.

Output: JSON Dictionary indicating if current user is device owner


Example Output JSONs

If biometric identification is successful:

{

  "supported": "true",
  "owner": "true"

}

If biometric identification is not successful:

{

  "supported": "true",
  "owner": "false",
  "fail-reason" : "AuthenticationFailed"

}

Possible fail-reason values:

  • AuthenticationFailed
    The provided fingerprint did not match
  • UserCancel
    The user canceled authentication
  • UserFallback
    The after failing, the user tapped the "Enter Password" button
  • SystemCancel
    The operating system canceled authentication
  • PasscodeNotSet
    The TouchId is not available because the device does not have a passcode set
  • TouchIDNotEnrolled
    The TouchId is not available because the device is not enrolled in TouchId
  • TouchIDNotAvailable
    The TouchId is not available on this device
  • TouchIDLockout
    The TouchId is not available because of too many failed attempts
  • AppCancel
    The application system canceled authentication
  • InvalidContext
    Authentication could not be performed
  • UnknownError
    Authentication failed for an unknown reason