App Initiated Capture Journey
This page covers Capture Intent Specifications
This section covers Facial image capture flow. Currently Facial image capture for Authenticatiomn is supported by the FaceRd app, which will be parralley supported in the aadhaar app.
1.1 App Initiated Capture Journey
The app-initiated journey enables an AUA (Authentication User Agency) application to securely capture a live facial image from the ANH's device. This captured image is converted into a signed and encrypted PID (Personal Identity Data) block, which can then be used to perform Aadhaar Face Authentication.
The capture intent request may include optional elements such as:
otp: Enables the AUA app to perform Face + OTP-based authentication, enhancing security by combining biometric and possession factors.wadh: Allows the captured face data to be used for eKYC API calls, in accordance with the Aadhaar authentication framework.
Note: This feature is only available for the AUA apps. OVSE apps will get error messages for CAPTURE Intent call.
1.2 Journey
The following visuals cover the Experience for an app-to-app Capture Intent
1.2.1 API Contract
Intent action : "in.gov.uidai.rdservice.face.CAPTURE"
Intent request payload key : "request"
Intent request payload value : "pid options"1.2.2 Invocation
context.startActivityForResult(intent, request-code);Notes:
Activities of aadhaar app should be started using startActivityForResult() expecting result in onActivityResult for given request-code.
Please refer to the sample reference project for any help in integrating with the headless apps.
UIDAI recommends to support multiple language feature to enable users to select preferred laugange to follow the instructions. This option should be enabled in AUA app context.
AUA should handle error codes/message with right feedback messages to enhance the user experience. Aadhaar app messages are designed to provide actional messages that are applicable to both end users of app and backend development/support teams. Below categorization of error codes should help:
1.2.3 Request
1.2.4 Request Params
Element
M/O
Type
Description
pidOption
M
String
Refer to RD specification section 2.6.2. ver, env are mandatory attributes.
pidOption:opts
M
String
Refer to specification section 2.6.2. format (0=XML, 1=PROTOBUF), pidVer are mandatory attributes. PROTOBUF is currently not supported. otp and wadh are optional.
pidOptions:custOpts:txn
M
String
name: txn value: new UUID to correlate between Capture intent call. This txn CAN BE be same as AUA’s auth xml txn Id.
pidOptions:custOpts:lang
O
String
name: “lang” value: new string to correlate between Capture intent call. This language will be used to change app language as per input (en:English, hi:Hindi, bn:Bengali, mr:marathi, kn:Kannada, ml:Malayalam, or:Oriya, ta:Tamil, te:Telugu)
pidOptions:custOpts:ht
O
String
Ht is used to share the hint with the aadhaar app to trigger selection of the correct profile. If the hint fails to match any of the profile, all the profiles woudl be shown for the selection by the ANH
BioData
O
String
Currently not supported. Holds list of PidData elements obtained from Finger or Iris RD Services. This feature enables Fusion Authentication between Face and other biometric modalities.
M - Mandatory fields, O - Optional fields
1.2.5 Response
1.2.6 Response Params
Element
M/O
Type
Description
pidOption
M
String
Refer to RD specification section 2.6.2.
pidOptions:custOpts
M
String
Param name: “txnId” value: uuid passed in the request.
pidOptions:custOpts
M
String
Param name: “txnSstatus” value: "PID_CREATED".
pidOptions:custOpts
O
String
Param name: “responseCode” value: "uuid received from facerd app".
DeviceInfo
M
String
Device details as per RD specification section 2.6.2. This is used in AUA app to create AUTH xml request.
Skey
M
String
Encrypted (PKI) AES key used to encrypt the PID. This is used in AUA app to create AUTH xml request.
Hmac
M
String
Hash of Pid block, encrypted and then base4 encoded. This is used in AUA app to create AUTH xml request.
Data
M
String
base64 encoded encrypted pid block. THis is used in AUA app to create AUTH xml request.
M - Mandatory fields (when request is processes successfully), O - Optional fields
Last updated