diff --git a/CHANGELOG.md b/CHANGELOG.md index 147f13b..6173154 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.4.2] - 2021-03-02 +### Fixed +- Twitter claim verification + ## [2.4.1] - 2021-01-13 ### Added - Owncast service provider diff --git a/package.json b/package.json index 1bda2af..48a8531 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "keyoxide-web", - "version": "2.4.1", + "version": "2.4.2", "description": "A modern, secure and privacy-friendly platform to establish your decentralized online identity", "main": "index.js", "dependencies": { "bent": "^7.3.12", - "doipjs": "^0.10.0", + "doipjs": "^0.10.5", "dotenv": "^8.2.0", "express": "^4.17.1", "express-validator": "^6.8.0", diff --git a/static/scripts.js b/static/scripts.js index 727726c..a8b373b 100644 --- a/static/scripts.js +++ b/static/scripts.js @@ -288,7 +288,7 @@ async function displayProfile(opts) { const generateProfileUserIdHTML = (userId, claims, opts) => { // Init output let output = ''; - + // Add claim header to output output += `

${userId.email}${opts.isPrimary ? ' primary' : ''}

`; @@ -320,16 +320,16 @@ async function displayProfile(opts) { `; return output; } - + claims = sortClaims(claims); - + // Generate output for each claim claims.forEach((claim, i) => { const claimData = claim.serviceproviderData if (!claimData.serviceprovider.name) { return; } - + output += `
@@ -361,12 +361,16 @@ async function displayProfile(opts) { let keyData, keyLink, sigVerification, sigKeyUri, fingerprint, feedback = "", verifications = []; let icon_qr = ''; + const doipOpts = { + proxyPolicy: 'adaptive', + } + // Reset the avatar document.body.querySelector('#profileHeader').src = generateProfileHeaderHTML(null) if (opts.mode == 'sig') { try { - sigVerification = await doip.signatures.verify(opts.input); + sigVerification = await doip.signatures.verify(opts.input, doipOpts); keyData = sigVerification.publicKey.data; fingerprint = sigVerification.publicKey.fingerprint; } catch (e) { @@ -418,7 +422,7 @@ async function displayProfile(opts) { keyUriServer = keyUriMatch[2]; keyUriId = keyUriMatch[3]; } - + switch (keyUriMode) { case "wkd": const [, localPart, domain] = /(.*)@(.*)/.exec(keyUriId); @@ -480,7 +484,7 @@ async function displayProfile(opts) { if (sigVerification) { verifications = sigVerification.claims } else { - verifications = await doip.claims.verify(keyData, fingerprint, {'proxyPolicy':'adaptive'}) + verifications = await doip.claims.verify(keyData, fingerprint, doipOpts) } } catch (e) { feedback += `

There was a problem verifying the claims.

`; diff --git a/yarn.lock b/yarn.lock index 7466465..276dbe3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -872,10 +872,10 @@ doctypes@^1.1.0: resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= -doipjs@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/doipjs/-/doipjs-0.10.0.tgz#d4547121aabba9c59abde690596e59e64237cd14" - integrity sha512-vPdFZMbIQWPIHNDO2CFcqpCs2h4HgcQOO7eIYVIC7yfxpFZ3DIFCW68Bv1aCqRel9W/3YpN9p7ccgzHN/f113A== +doipjs@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/doipjs/-/doipjs-0.10.5.tgz#df82dd70aff2903eddd7262e63f4e80ef4a9eb49" + integrity sha512-uFgt7rL5Olq2ByTDhjWNBlnWFsQAx6x5pJfDicnioJVNPFXcSdT2PFejfZGUTAfyI/1q3NWpSDn+vuPiR5udHg== dependencies: bent "^7.3.12" browserify "^17.0.0"