uqudosdk-react-native 3.1.3 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## 3.2.1
2
+
3
+ * Fixed regression bug introduced in version 3.2.0
4
+ * Added support for a new document type: TUN_ID (Tunisian ID)
5
+
6
+ ## 3.2.0
7
+
8
+ * (Android SDK) Enhanced Security with Improved Root Detection: We've significantly strengthened the root detection mechanism in our Android SDK to provide greater protection against dynamic code injection and other malicious activities. This improvement ensures that the application remains secure even in compromised environments. However, we strongly recommend that customers implement their own additional root detection strategies as well. Rooted devices can compromise the integrity of the entire application and its data. UnsupportedDeviceException has been removed in favor of IllegalStateException if a rooted device is detected. Make sure to manage the exception to avoid your application to crash.
9
+ * (Android SDK) Resolved an issue where pressing the back button during the document scanning step would incorrectly return the user to the help page, even when the help page was disabled in the SDK configuration.
10
+ * (iOS SDK) Upgraded OpenSSL-Universal to version 1.1.2301. If you're using the native SDK (Objective-C or Swift), please update this dependency when upgrading to the new SDK version. For hybrid frameworks (excluding React Native), the dependency is automatically added to the package descriptor of the Uqudo plugin.
11
+ * Enhanced the speed and accuracy of the ID photo tampering detection feature.
12
+ * Improved the accuracy of the ID photo quality check, particularly for cases where the face is partially covered by a finger or other objects. In such cases, the scan will now be rejected, and appropriate feedback will be provided to the user.
13
+ * Starting with this version, the SDK will reject scans of ID documents presented on paper. If you prefer to allow scans through screens or paper and wish to assess related scores on your side, you can use the `allowNonPhysicalDocuments` configuration option available in the SDK.
14
+ * Added support for a new document type: UAE_PASSPORT_DIGITAL. This represents the digital version of the UAE passport. To accept this version, treat it as a distinct document type in your Enrollment Builder Configuration. Also, when selecting UAE_PASSPORT_DIGITAL, ensure that non-physical documents are enabled and tampering rejection is disabled for successful scanning.
15
+ * Enhanced support for Rwanda ID and Somaliland ID.
16
+ * Improved the KEN_ID lookup by requiring only the identity number, simplifying the process for the end user.
17
+ * Various minor bug fixes and improvements.
18
+
1
19
  ## 3.1.3
2
20
 
3
21
  * Introduced support for Qatar Vehicle License.
@@ -33,5 +33,5 @@ android {
33
33
 
34
34
  dependencies {
35
35
  implementation 'com.facebook.react:react-native:+'
36
- implementation 'io.uqudo.sdk:Uqudo:3.1.3'
36
+ implementation 'io.uqudo.sdk:Uqudo:3.2.1'
37
37
  }
@@ -344,6 +344,9 @@ public class UqudoIdModule extends ReactContextBaseJavaModule implements Activit
344
344
  if (json.has("nonce")) {
345
345
  faceSession.setNonce(json.getString("nonce"));
346
346
  }
347
+ if (json.has("userIdentifier")) {
348
+ faceSession.setUserIdentifier(UUID.fromString(json.getString("userIdentifier")));
349
+ }
347
350
  if (json.has("isSecuredWindowsDisabled")) {
348
351
  faceSession.disableSecureWindow();
349
352
  }
package/ios/UqudoId.m CHANGED
@@ -357,6 +357,15 @@ RCT_EXPORT_METHOD(faceSession:(NSString *)configuration resolver:(RCTPromiseReso
357
357
  faceSessionBuilder.authorizationToken = json[@"token"];
358
358
  faceSessionBuilder.sessionId = json[@"sessionId"];
359
359
  faceSessionBuilder.nonce = json[@"nonce"];
360
+
361
+ NSString* userIdentifier = json[@"userIdentifier"];
362
+ if (userIdentifier && userIdentifier.length > 0) {
363
+ NSUUID *userID = [[NSUUID alloc] initWithUUIDString:userIdentifier];
364
+ if (userID) {
365
+ faceSessionBuilder.userIdentifier = userID;
366
+ }
367
+ }
368
+
360
369
  if (json[@"minimumMatchLevel"]) {
361
370
  faceSessionBuilder.minimumMatchLevel = [[json valueForKey:@"minimumMatchLevel"] intValue];
362
371
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "uqudosdk-react-native",
3
3
  "title": "React Native UqudoId",
4
- "version": "3.1.3",
4
+ "version": "3.2.1",
5
5
  "description": "Uqudo SDK react native module",
6
6
  "main": "index.js",
7
7
  "author": {
@@ -114,7 +114,9 @@ export const DocumentType = Object.freeze(
114
114
  MRZ: 'MRZ',
115
115
  IRQ_ID: 'IRQ_ID',
116
116
  UAE_ID_DIGITAL: 'UAE_ID_DIGITAL',
117
- QAT_VL:'QAT_VL'
117
+ QAT_VL:'QAT_VL',
118
+ UAE_PASSPORT_DIGITAL: 'UAE_PASSPORT_DIGITAL',
119
+ TUN_ID: 'TUN_ID'
118
120
  }
119
121
  );
120
122
 
@@ -632,6 +634,11 @@ export class FaceSessionBuilder {
632
634
  return this;
633
635
  },
634
636
 
637
+ setUserIdentifier: function (userIdentifier) {
638
+ this.userIdentifier = userIdentifier;
639
+ return this;
640
+ },
641
+
635
642
  enableRootedDeviceUsage: function () {
636
643
  this.isRootedDeviceAllowed = true;
637
644
  return this;
@@ -674,17 +681,18 @@ export class FaceSessionBuilder {
674
681
 
675
682
 
676
683
  build: function () {
677
- return new FaceSessionConfiguration(this.authorizationToken, this.sessionId, this.nonce, this.isRootedDeviceAllowed, this.isSecuredWindowsDisabled, this.minimumMatchLevel, this.maxAttempts, this.isReturnDataForIncompleteSession, this.appearanceMode,this.isAllowClosedEyes,this.obfuscationType);
684
+ return new FaceSessionConfiguration(this.authorizationToken, this.sessionId, this.nonce, this.userIdentifier, this.isRootedDeviceAllowed, this.isSecuredWindowsDisabled, this.minimumMatchLevel, this.maxAttempts, this.isReturnDataForIncompleteSession, this.appearanceMode,this.isAllowClosedEyes,this.obfuscationType);
678
685
  }
679
686
  }
680
687
  }
681
688
  }
682
689
 
683
690
  export class FaceSessionConfiguration {
684
- constructor(token, sessionId, nonce, isRootedDeviceAllowed, isSecuredWindowsDisabled, minimumMatchLevel,maxAttempts,isReturnDataForIncompleteSession,appearanceMode,isAllowClosedEyes,obfuscationType) {
691
+ constructor(token, sessionId, nonce, userIdentifier, isRootedDeviceAllowed, isSecuredWindowsDisabled, minimumMatchLevel,maxAttempts,isReturnDataForIncompleteSession,appearanceMode,isAllowClosedEyes,obfuscationType) {
685
692
  this.token = token;
686
693
  this.sessionId = sessionId;
687
694
  this.nonce = nonce;
695
+ this.userIdentifier = userIdentifier;
688
696
  this.isRootedDeviceAllowed = isRootedDeviceAllowed;
689
697
  this.isSecuredWindowsDisabled = isSecuredWindowsDisabled;
690
698
  this.minimumMatchLevel = minimumMatchLevel;
@@ -7,11 +7,11 @@ Pod::Spec.new do |s|
7
7
  s.summary = package["description"]
8
8
  s.license = "MIT"
9
9
  s.homepage = 'https://uqu.do'
10
- s.platforms = { :ios => "9.0" }
10
+ s.platforms = { :ios => "12.0" }
11
11
  s.source_files = "ios/*.{h,c,m,swift}"
12
12
  s.author = { 'uqudo' => 'hello@uqu.do' }
13
13
  s.source = { :http => 'https://uqudo.com' }
14
14
  s.header_dir = 'UqudoSDK'
15
15
  s.dependency 'React'
16
- s.dependency 'UqudoSDK', '3.1.3'
16
+ s.dependency 'UqudoSDK', '3.2.1'
17
17
  end