@ideem/zsm-client-sdk 2.6.3 → 2.7.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 +9 -1
- package/RelyingPartyBase.js +3 -0
- package/UMFAClientBase.js +1 -1
- package/WebAuthnClientBase.js +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -11,7 +11,15 @@ and Universal MFA into a browser application.
|
|
|
11
11
|
- None at this time.
|
|
12
12
|
|
|
13
13
|
----
|
|
14
|
-
|
|
14
|
+
|
|
15
|
+
## Release 2.7.0 - January 15, 2026 [ NPM PACKAGE RELEASE ] **[ LATEST ]**
|
|
16
|
+
- Minor bug fixes and improvements
|
|
17
|
+
- Standardization of credential responses across all SDK platforms (browser, mobile, native)
|
|
18
|
+
- Standardization of credential schema across all all UMFA workflows
|
|
19
|
+
- Improved security by addition of new validation checks for webauthn attestation and assertion responses
|
|
20
|
+
- Improvements to performance by removing now-unnecessary API trips during UMFA enrollment and authentication flows
|
|
21
|
+
|
|
22
|
+
## Release 2.6.3 - January 6, 2026 [ NPM PACKAGE RELEASE ]
|
|
15
23
|
- Minor alteration to event coordinator to support legacy versions of Safari (versions 14-18.4)
|
|
16
24
|
|
|
17
25
|
## Release 2.6.2 - December 19, 2025 [ NPM PACKAGE RELEASE ]
|
package/RelyingPartyBase.js
CHANGED
|
@@ -114,6 +114,7 @@ class RelyingPartyBase {
|
|
|
114
114
|
* @throws {Error} Throws an error if the request fails.
|
|
115
115
|
*/
|
|
116
116
|
registrationFinish (credential) {
|
|
117
|
+
return credential;
|
|
117
118
|
return this.makePostRequest(`api/webauthn/registration/finish`, { credential })
|
|
118
119
|
.then(body => {
|
|
119
120
|
this.credentialID = credential.rawId;
|
|
@@ -153,6 +154,7 @@ class RelyingPartyBase {
|
|
|
153
154
|
* @throws {Error} Throws an error if the request fails.
|
|
154
155
|
*/
|
|
155
156
|
authenticationFinish (credential) {
|
|
157
|
+
return credential;
|
|
156
158
|
return this.makePostRequest("api/webauthn/authentication/finish", { credential })
|
|
157
159
|
.then(result => result)
|
|
158
160
|
.catch(error => Promise.reject(new Error(error)));
|
|
@@ -192,6 +194,7 @@ class RelyingPartyBase {
|
|
|
192
194
|
* @throws {Error} Throws an error if the request fails.
|
|
193
195
|
*/
|
|
194
196
|
registrationFinishAuthenticationStart (credential) {
|
|
197
|
+
return credential;
|
|
195
198
|
return this.makePostRequest(`api/webauthn/registration/finish-then-authentication-start`, { credential })
|
|
196
199
|
.then(result => (this.credentialID = credential.rawId, result))
|
|
197
200
|
.then(credential => credential)
|
package/UMFAClientBase.js
CHANGED
|
@@ -99,7 +99,7 @@ class UMFAClientBase {
|
|
|
99
99
|
let userIsEnrolled = await this.checkEnrollment(userIdentifier);
|
|
100
100
|
if(userIsEnrolled === false) throw(`${userIdentifier} is not enrolled.`);
|
|
101
101
|
let authCredential = await this.zsmAPI.webauthnPartialGet(userIdentifier);
|
|
102
|
-
return authCredential
|
|
102
|
+
return authCredential?.credential??authCredential;
|
|
103
103
|
}catch(e) {
|
|
104
104
|
return new Error(e.message || e || '[UMFAClient] :: authenticate :: An error occurred during authentication.');
|
|
105
105
|
}
|
package/WebAuthnClientBase.js
CHANGED
|
@@ -287,6 +287,7 @@ class WebAuthnClientBase {
|
|
|
287
287
|
GLOBAL.dispatchEvent(new CustomEvent("MPCResponse", {bubbles: true, cancelable: false, detail: mpcResponse }));
|
|
288
288
|
|
|
289
289
|
const credential = mpcResponse.result;
|
|
290
|
+
return credential;
|
|
290
291
|
let authFinishResponse = await this.relyingParty.authenticationFinish(credential);
|
|
291
292
|
|
|
292
293
|
if (authFinishResponse instanceof Error) throw new Error(authFinishResponse);
|
|
@@ -380,6 +381,7 @@ class WebAuthnClientBase {
|
|
|
380
381
|
GLOBAL.dispatchEvent(new CustomEvent("MPCResponse", {bubbles: true, cancelable: false, detail: mpcResponse }));
|
|
381
382
|
|
|
382
383
|
const getCredential = mpcResponse.result;
|
|
384
|
+
return getCredential;
|
|
383
385
|
return {
|
|
384
386
|
signature: getCredential.response.signature,
|
|
385
387
|
signedChallenge: getCredential.response.clientDataJSON,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name" : "@ideem/zsm-client-sdk",
|
|
3
|
-
"version" : "2.
|
|
3
|
+
"version" : "2.7.0",
|
|
4
4
|
"description" : "ZSM makes 2FA easy and invisible for everyone, all the time, using advanced cryptography like MPC to establish cryptographic proof of the origin of any transaction or login attempt, while eliminating opportunities for social engineering. ZSM has no reliance on specific hardware. Our cryptographic module has completed FIPS 140-3 NIST approved lab testing, is FIDO2-ready, and is on the Modules In Progress (MIP) list. Superior Usability. no opt-in, no codes, no downloads, no authenticator apps. Better Security.",
|
|
5
5
|
"author" : "Jason Jurusz <jj@useideem.com>",
|
|
6
6
|
"keywords" : [ "ideem", "zsm", "zsm-client-sdk", "umfaclient", "fido2client", "library", "umfa", "fido", "fido2", "client", "javascript", "multifactor", "multi-factor", "webauthn", "authentication", "security", "cryptography", "mpc", "fips", "nist", "mip", "passkeys" ],
|