@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 CHANGED
@@ -11,7 +11,15 @@ and Universal MFA into a browser application.
11
11
  - None at this time.
12
12
 
13
13
  ----
14
- ## Release 2.6.3 - January 6, 2026 [ NPM PACKAGE RELEASE ] **[ LATEST ]**
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 ]
@@ -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.credential;
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
  }
@@ -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.6.3",
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" ],