Skip to content

Commit 1cc2111

Browse files
committed
Fix MakeCredentials extensions
1 parent 4f4c6fb commit 1cc2111

5 files changed

Lines changed: 200 additions & 560 deletions

File tree

webext/add-on/content.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,11 @@ async function cloneCredentialResponse(credential) {
9393
// so we need a lot of deconstructions. So no: obj.clientExtensionResults = cloneInto(credential.clientExtensionResults, obj);
9494
const extensions = {}
9595
if (credential.clientExtensionResults) {
96-
if (credential.clientExtensionResults.hmac_get_secret) {
97-
extensions.hmac_get_secret = {}
98-
extensions.hmac_get_secret.output1 = Uint8Array.fromBase64(credential.clientExtensionResults.hmac_get_secret.output1, options);
99-
if (credential.clientExtensionResults.hmac_get_secret.output2) {
100-
extensions.hmac_get_secret.output2 = Uint8Array.fromBase64(credential.clientExtensionResults.hmac_get_secret.output2, options);
96+
if (credential.clientExtensionResults.hmacGetSecret) {
97+
extensions.hmacGetSecret = {}
98+
extensions.hmacGetSecret.output1 = Uint8Array.fromBase64(credential.clientExtensionResults.hmacGetSecret.output1, options);
99+
if (credential.clientExtensionResults.hmacGetSecret.output2) {
100+
extensions.hmacGetSecret.output2 = Uint8Array.fromBase64(credential.clientExtensionResults.hmacGetSecret.output2, options);
101101
}
102102
}
103103

@@ -110,14 +110,21 @@ async function cloneCredentialResponse(credential) {
110110
extensions.prf.results.second = Uint8Array.fromBase64(credential.clientExtensionResults.prf.results.second, options);
111111
}
112112
}
113+
if (credential.clientExtensionResults.prf.enabled) {
114+
extensions.prf.enabled = cloneInto(credential.clientExtensionResults.prf.enabled, extensions.prf)
115+
}
113116
}
114117

115-
if (credential.clientExtensionResults.large_blob) {
116-
extensions.large_blob = {}
117-
if (credential.clientExtensionResults.large_blob.blob) {
118-
extensions.large_blob.blob = Uint8Array.fromBase64(credential.clientExtensionResults.large_blob.blob, options);
118+
if (credential.clientExtensionResults.largeBlob) {
119+
extensions.largeBlob = {}
120+
if (credential.clientExtensionResults.largeBlob.blob) {
121+
extensions.largeBlob.blob = Uint8Array.fromBase64(credential.clientExtensionResults.largeBlob.blob, options);
119122
}
120123
}
124+
125+
if (credential.clientExtensionResults.credProps) {
126+
extensions.credProps = cloneInto(credential.clientExtensionResults.credProps, extensions)
127+
}
121128
}
122129
obj.response = cloneInto(response, obj, { cloneFunctions: true })
123130
obj.clientExtensionResults = extensions;

0 commit comments

Comments
 (0)