Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
nocode:identity-link [2019/08/13 05:22]
740803864
nocode:identity-link [2019/08/13 11:20] (current)
740803864 [Positive response]
Line 1: Line 1:
 ====== Identity Link support ====== ====== Identity Link support ======
-You can follow these steps to integrate no-code ​transaction ​support to your application:​ +You can follow these steps to integrate no-code ​identity link support to your application:​ 
-  * Send transaction ​HTTP request to ADUCID Binder+  * Send identity link HTTP request to ADUCID Binder
   * Process authentication on ADUCID Binder   * Process authentication on ADUCID Binder
-  * Read transaction ​JSON response+  * Read identity link JSON response
 See chapters below for details. See chapters below for details.
  
-===== Set up ===== +===== Setup ===== 
-At first, ​transaction ​must be prepared and sent to ADUCID Binder. ADUCID Binder accepts ​transaction ​HTTP requests at ''/​aducid-binder/​prepareTransactionUpload''​. Before ADUCID Binder call, **unique identifier (aka ''​transactionId''​) must be generated**. This identifier is neccessary to successfully pair transaction ​request and response. Let's see ADUCID Binder ​transaction ​interface parameters:+At first, ​identity link must be prepared and sent to ADUCID Binder. ADUCID Binder accepts ​identity link HTTP requests at ''/​aducid-binder/​prepareIdentityLinkUpload''​. Before ADUCID Binder call, **unique identifier (aka ''​identityLinkId''​) must be generated**. This identifier is neccessary to successfully pair identity link request and response. Let's see ADUCID Binder ​identity link interface parameters:
 ^ Name ^ Values ^ Mandatory ^ Description ^ ^ Name ^ Values ^ Mandatory ^ Description ^
-transactionId ​| String | Yes | transaction ​unique identifier | +identityLinkId ​| String | Yes | identity link unique identifier ​
-| peigMessage | MultipartFile | No | transaction ​message in plain or HTML format | +| remoteAims | List<​String>​ | Yes | list of identity link remote AIMs 
-factor ​''​PERSONAL''​ or ''​COMFORT''​ or empty value | No | required ​personal code level |+| peigMessage | MultipartFile | No | identity link message in plain or HTML format | 
 +peigMessageData ​MultipartFile | No | identity link message data | 
 +| initLF | Boolean ​| No | if true, personal code will be initialized ​|
 | redirectUrl | String | Yes | URL to redirect after ADUCID Binder successful authentication | | redirectUrl | String | Yes | URL to redirect after ADUCID Binder successful authentication |
 | errorPage | String | No | URL to redirect after ADUCID Binder unsuccessful authentication | | errorPage | String | No | URL to redirect after ADUCID Binder unsuccessful authentication |
 | udi | String | No | if defined, security attack check is realized | | udi | String | No | if defined, security attack check is realized |
-peigId ​| String | No | if defined, ​mobile push notification ​is realized ​+request ​| String | No | if defined, ​''​syncMyIdentityLinkedUserData''​ method ​is called ​
-**It is neccessary to add ''​transactionId ​''​ parameter to ''​redirectUrl''​ attribute** to successfully pair transaction ​request and response. If ''​errorPage''​ is not defined, ''​redirectUrl''​ is used in case of error. Now we can send prepared request to ''/​aducid-binder/​prepareTransactionUpload''​ and check successful ​transaction ​upload (HTTP code 200).+**It is neccessary to add ''​identityLinkId''​ parameter to ''​redirectUrl''​ attribute** to successfully pair identity link request and response. If ''​errorPage''​ is not defined, ''​redirectUrl''​ is used in case of error. Now we can send prepared request to ''/​aducid-binder/​prepareIdentityLinkUpload''​ and check successful ​identity link upload (HTTP code 200).
  
-We must also remember to provide generated ​transaction ​identifier to web view, e.g. Ajax JSON response or JSP expression language.+We must also remember to provide generated ​identity link identifier to web view, e.g. Ajax JSON response or JSP expression language.
  
-===== Transaction ​itself ===== +===== Identity link itself ===== 
-When transaction ​data are successfully uploaded, we can start transaction ​itself. It can be done with use of [[web-integration:​client-side|Client API for Web Integration]]. We only need to specify ADUCID Binder methods to serve transaction:+When identity link data are successfully uploaded, we can start identity link itself. It can be done with use of [[web-integration:​client-side|Client API for Web Integration]]. We only need to specify ​right ADUCID Binder methods to serve identity link:
  
 <code javascript>​ <code javascript>​
-aducid.setStartOperationUrl("/​aducid-binder/​transactionJson?transactionId=" + response.data);​ +aducid.setStartOperationUrl("/​aducid-binder/​identityLinkJson?identityLinkId=" + response.data);​ 
-aducid.setResultOperationUrl("/​aducid-binder/​transactionCheck");+aducid.setResultOperationUrl("/​aducid-binder/​identityLinkCheck");
 aducid.setProxyUrl("/​aducid-binder/​proxy"​);​ aducid.setProxyUrl("/​aducid-binder/​proxy"​);​
 </​code>​ </​code>​
  
-Expression ''​response.data''​ contains unique ​transaction ​identifier pushed from backend to view. After transaction ​run, user is redirected to ''​redirectUrl''​ value (or to ''​errorPage''​ if defined and error occurs).+Expression ''​response.data''​ contains unique ​identity link identifier pushed from backend to view. After identity link run, user is redirected to ''​redirectUrl''​ value (or to ''​errorPage''​ if defined and error occurs).
  
 ===== Response processing ===== ===== Response processing =====
-User is now redirected to ''​redirectUrl'',​ where we must process ​transaction ​operation result. Operation result is saved in HTTP request attributes. We try to read attribute with prefix ''​AAA_UTR_''​ with transaction ​identifier at the end. When value exists, **we must invoke base64 decoding on value** to get readable JSON response.+User is now redirected to ''​redirectUrl'',​ where we must process ​identity link operation result. Operation result is saved in HTTP request attributes. We try to read attribute with prefix ''​AAA_ULR_''​ with identity link identifier at the end. When value exists, **we must invoke base64 decoding on value** to get readable JSON response
 + 
 +There is also saved used remote AIM in HTTP attributes. It can be accessed as an attribute with prefix ''​AAA_ULR_RA_''​ with identity link identifier at the end. This value is saved as it is, it is not base64 encoded.
  
 ==== Positive response ==== ==== Positive response ====
-See +When identity link was successful (''​status = OK''​),​ JSON response will be:
-When transaction ​was successful (''​status = OK''​),​ JSON response will be:+
  
 <code javascript>​ <code javascript>​
Line 46: Line 49:
 </​code>​ </​code>​
  
-==== Negative response ==== +When ''​request'' ​value was used in identity link setup (e.g''​{"​eidProviderMethod":"​READ_EID_USER_DATA","​data":​null}''​),​ ''​data''​ will be filled in service provider response. For example:
-Transaction can be also unsuccessful (''​status = ERROR''​)There are two types of failures - failure directly on AIM and second level failureFailure on AIM can be:+
  
 <code javascript>​ <code javascript>​
 { {
-  "​status":​ "ERROR",+  "​status":​ "OK",
   "​data":​ {   "​data":​ {
-    "message": "Wrong personal factor.", +    "firstName": "John", 
-    "key": ​null+    "firstNameApproved": ​true
-    "arguments": ​null+    "lastName": ​"​Green"​
-    "statusAIM": "active", +    "lastNameApproved": ​true, 
-    "statusAuth": "OK", +    ​"permanentAddress":​ "​Castle Road 54, Green Town, CF72 2YD", 
-    "statusLF": "KO"+    "permanentAddressApproved": ​true, 
 +    ​"identityCardNumber": "​ID97967588",​ 
 +    "​identityCardNumberApproved":​ true, 
 +    "​identityCardValidTo":​ "​2023-05-10",​ 
 +    "​identityCardValidToApproved":​ true, 
 +    "​birthDate":​ "​1971-10-09",​ 
 +    "​birthDateApproved":​ true, 
 +    "​deliveryAddress":​ "​Castle Road 54, Green Town, CF72 2YD",​ 
 +    "​deliveryAddressApproved":​ true, 
 +    "​telephoneNumber":​ "+44 654 987 987",​ 
 +    "​telephoneNumberApproved":​ true, 
 +    "​voter":​ true, 
 +    "​voterApproved":​ true, 
 +    "​creditCardNumber":​ "4485 5057 0701 1520",​ 
 +    "​creditCardNumberApproved":​ true, 
 +    "​creditCardValidTo":​ "​09/​2022",​ 
 +    "​creditCardValidToApproved":​ true, 
 +    "​creditCardOwner":​ "John Green",​ 
 +    "​creditCardOwnerApproved":​ true, 
 +    "​gender":​ "​male",​ 
 +    "​genderApproved":​ true, 
 +    "​email":​ "​john.green@test.com",​ 
 +    "​emailApproved":​ true, 
 +    "​approvedLF":​ true
 +    "proofingStatus": "APPROVED"
   },   },
-  "​redirect": ​"​https://​dev-bank.demo.aducid.com:​443/​bank-nc/​loginPage"​+  "​redirect": ​null
 } }
 </​code>​ </​code>​
  
-In case of AIM failure, values ''​statusAIM''​ and ''​statusAuth''​ will be filled, ''​statusLF''​ only in case of personal code use. You can find ''​statusAuth''​ and ''​statusLF''​ meanings in chapter ​[[other:error-statuses|Error statuses of authentication process]]. Meanings of ''​statusAIM''​ can be found in [[other:​aim-statuses|Semantics of individual statuses of the authentication session (AIMStatus)]] chapter. Attribute ''​message''​ is technical readable text describing error. +==== Negative response ==== 
- +See [[nocode:transactions#​negative_response|Transaction support, Negative response]] chapter.
-Secondary level failure can look like: +
- +
-<code javascript>​ +
-+
-  "​status":​ "​ERROR",​ +
-  "​data":​ { +
-    "​message":​ "​Potential security attack.",​ +
-    "​key":​ "​web.potentialSecurityAttack",​ +
-    "​arguments":​ [], +
-    "​statusAIM":​ null, +
-    "​statusAuth":​ null, +
-    "​statusLF":​ null +
-  }, +
-  "​redirect":​ "​https://​dev-bank.demo.aducid.com:​443/​bank-nc/​paymentCheck?​transactionId\u003dac39bc24-edc8-477d-95f5-6793a452bd80"​ +
-+
-</​code>​ +
- +
-In this case, value ''​key''​ is filled, ''​arguments''​ only in situation of existing error message arguments. Possible values of ''​key''​ can be found at [[https://​wiki.aducid.com/​client-api/​com/​aducid/​sdk/​enums/​ClientStatus.html|Client Status]] or [[https://​wiki.aducid.com/​web-platform/​com/​aducid/​web/​enums/​WebStatus.html|Web Status]]. Attribute ''​message''​ is technical readable text describing error.+
  
  • nocode/identity-link.1565673765.txt.gz
  • Last modified: 2019/08/13 05:22
  • by 740803864