uqudosdk-react-native 3.1.2 → 3.2.0
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,27 @@
|
|
|
1
|
+
## 3.2.0
|
|
2
|
+
|
|
3
|
+
* (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.
|
|
4
|
+
* (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.
|
|
5
|
+
* (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.
|
|
6
|
+
* Enhanced the speed and accuracy of the ID photo tampering detection feature.
|
|
7
|
+
* 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.
|
|
8
|
+
* 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.
|
|
9
|
+
* 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.
|
|
10
|
+
* Enhanced support for Rwanda ID and Somaliland ID.
|
|
11
|
+
* Improved the KEN_ID lookup by requiring only the identity number, simplifying the process for the end user.
|
|
12
|
+
* Various minor bug fixes and improvements.
|
|
13
|
+
|
|
14
|
+
## 3.1.3
|
|
15
|
+
|
|
16
|
+
* Introduced support for Qatar Vehicle License.
|
|
17
|
+
* Resolved an issue in document scanning that occasionally failed to recognize the latest version of the Bahraini passport.
|
|
18
|
+
* Resolved an issue where authentication exception during PACE in passport NFC was not properly handled.
|
|
19
|
+
* Implemented minor bug fixes.
|
|
20
|
+
* iOS: Optimized the SDK to reduce its size.
|
|
21
|
+
* iOS: Corrected RTL layout issues when using the Kurdish language.
|
|
22
|
+
* Android: Addressed a rare crash during the document scanning step when the help page is disabled.
|
|
23
|
+
* Android: Resolved a crash that occurred when the back button was pressed simultaneously during the document scanning step.
|
|
24
|
+
|
|
1
25
|
## 3.1.2
|
|
2
26
|
|
|
3
27
|
* To enhance the ID Document scan experience, we have improved the glare detection pipeline by masking the ID photo area. This prevents glare detection in this highly reflective region which is known to contain large holographic features. This is done without compromising the quality of ID photos, as our dedicated photo quality detection model handles this aspect better. We've also extended the masking to other reflective areas on ID document that don't affect the capture quality, including:
|
package/android/build.gradle
CHANGED
|
@@ -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
package/uqudoBuilder/uqudo.js
CHANGED
|
@@ -114,6 +114,8 @@ 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',
|
|
118
|
+
UAE_PASSPORT_DIGITAL: 'UAE_PASSPORT_DIGITAL'
|
|
117
119
|
}
|
|
118
120
|
);
|
|
119
121
|
|
|
@@ -631,6 +633,11 @@ export class FaceSessionBuilder {
|
|
|
631
633
|
return this;
|
|
632
634
|
},
|
|
633
635
|
|
|
636
|
+
setUserIdentifier: function (userIdentifier) {
|
|
637
|
+
this.userIdentifier = userIdentifier;
|
|
638
|
+
return this;
|
|
639
|
+
},
|
|
640
|
+
|
|
634
641
|
enableRootedDeviceUsage: function () {
|
|
635
642
|
this.isRootedDeviceAllowed = true;
|
|
636
643
|
return this;
|
|
@@ -673,17 +680,18 @@ export class FaceSessionBuilder {
|
|
|
673
680
|
|
|
674
681
|
|
|
675
682
|
build: function () {
|
|
676
|
-
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);
|
|
683
|
+
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);
|
|
677
684
|
}
|
|
678
685
|
}
|
|
679
686
|
}
|
|
680
687
|
}
|
|
681
688
|
|
|
682
689
|
export class FaceSessionConfiguration {
|
|
683
|
-
constructor(token, sessionId, nonce, isRootedDeviceAllowed, isSecuredWindowsDisabled, minimumMatchLevel,maxAttempts,isReturnDataForIncompleteSession,appearanceMode,isAllowClosedEyes,obfuscationType) {
|
|
690
|
+
constructor(token, sessionId, nonce, userIdentifier, isRootedDeviceAllowed, isSecuredWindowsDisabled, minimumMatchLevel,maxAttempts,isReturnDataForIncompleteSession,appearanceMode,isAllowClosedEyes,obfuscationType) {
|
|
684
691
|
this.token = token;
|
|
685
692
|
this.sessionId = sessionId;
|
|
686
693
|
this.nonce = nonce;
|
|
694
|
+
this.userIdentifier = userIdentifier;
|
|
687
695
|
this.isRootedDeviceAllowed = isRootedDeviceAllowed;
|
|
688
696
|
this.isSecuredWindowsDisabled = isSecuredWindowsDisabled;
|
|
689
697
|
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 => "
|
|
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.
|
|
16
|
+
s.dependency 'UqudoSDK', '3.2.0'
|
|
17
17
|
end
|