Skip to content

Commit 0ffb2f4

Browse files
emlunmariobodemann
authored andcommitted
Update sign extension to version 3 in injectjs.js
1 parent fbafac3 commit 0ffb2f4

1 file changed

Lines changed: 18 additions & 20 deletions

File tree

wrapper/src/main/assets/injectjs.js

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -130,20 +130,19 @@ function overrideNavigatorCredentialsWithBridgeCall(method) {
130130
}
131131

132132

133+
// sign extension v3 https://yubicolabs.github.io/webauthn-sign-extension/3/#sctn-sign-extension
133134
if (options.publicKey.hasOwnProperty('extensions') &&
134135
options.publicKey.extensions.hasOwnProperty('sign') &&
135136
options.publicKey.extensions.sign.hasOwnProperty('generateKey') &&
136-
options.publicKey.extensions.sign.generateKey.hasOwnProperty('phData') ) {
137-
options.publicKey.extensions.sign.generateKey.phData = __encode(options.publicKey.extensions.sign.generateKey.phData)
137+
options.publicKey.extensions.sign.generateKey.hasOwnProperty('tbs') ) {
138+
options.publicKey.extensions.sign.generateKey.tbs = __encode(options.publicKey.extensions.sign.generateKey.tbs)
138139
}
139-
140140
if (options.publicKey.hasOwnProperty('extensions') &&
141141
options.publicKey.extensions.hasOwnProperty('sign') &&
142142
options.publicKey.extensions.sign.hasOwnProperty('sign') &&
143-
options.publicKey.extensions.sign.sign.hasOwnProperty('phData') ) {
144-
options.publicKey.extensions.sign.sign.phData = __encode(options.publicKey.extensions.sign.sign.phData)
143+
options.publicKey.extensions.sign.sign.hasOwnProperty('tbs') ) {
144+
options.publicKey.extensions.sign.sign.tbs = __encode(options.publicKey.extensions.sign.sign.tbs)
145145
}
146-
147146
if (options.publicKey.hasOwnProperty('extensions') &&
148147
options.publicKey.extensions.hasOwnProperty('sign') &&
149148
options.publicKey.extensions.sign.hasOwnProperty('sign') &&
@@ -232,25 +231,24 @@ function __decode__credentials(result) {
232231
}
233232
}
234233

235-
if (result.clientExtensionResults.hasOwnProperty('largeBlob')) {
236-
if (result.clientExtensionResults.largeBlob.hasOwnProperty('blob')) {
237-
result.clientExtensionResults.largeBlob.blob = __decode(
234+
if (result.clientExtensionResults.hasOwnProperty('largeBlob')) {
235+
if (result.clientExtensionResults.largeBlob.hasOwnProperty('blob')) {
236+
result.clientExtensionResults.largeBlob.blob = __decode(
238237
result.clientExtensionResults.largeBlob.blob
239-
)
240-
}
241-
}
238+
);
239+
}
240+
}
242241

243-
if (result.clientExtensionResults.hasOwnProperty('sign')) {
242+
// sign extension v3 https://yubicolabs.github.io/webauthn-sign-extension/3/#sctn-sign-extension
243+
if (result.clientExtensionResults.hasOwnProperty('sign')) {
244244
if (result.clientExtensionResults.sign.hasOwnProperty('generatedKey')) {
245245
if (result.clientExtensionResults.sign.generatedKey.hasOwnProperty('publicKey')) {
246246
result.clientExtensionResults.sign.generatedKey.publicKey =
247-
__decode(result.clientExtensionResults.sign.generatedKey.publicKey
248-
)
247+
__decode(result.clientExtensionResults.sign.generatedKey.publicKey);
249248
}
250-
if (result.clientExtensionResults.sign.generatedKey.hasOwnProperty('keyHandle')) {
251-
result.clientExtensionResults.sign.generatedKey.keyHandle = __decode(
252-
result.clientExtensionResults.sign.generatedKey.keyHandle
253-
);
249+
if (result.clientExtensionResults.sign.generatedKey.hasOwnProperty('attestationObject')) {
250+
result.clientExtensionResults.sign.generatedKey.attestationObject =
251+
__decode(result.clientExtensionResults.sign.generatedKey.attestationObject);
254252
}
255253
}
256254

@@ -259,7 +257,7 @@ function __decode__credentials(result) {
259257
result.clientExtensionResults.sign.signature
260258
);
261259
}
262-
}
260+
}
263261
}
264262

265263
// augment pure json result with functions needed by https://developer.mozilla.org/en-US/docs/Web/API/PublicKeyCredential#instance_properties

0 commit comments

Comments
 (0)