Fix Twitter verification

This commit is contained in:
Yarmo Mackenbach 2021-03-02 15:26:13 +01:00
parent 8e2cea8690
commit 1740d245f4
No known key found for this signature in database
GPG key ID: 37367F4AF4087AD1
3 changed files with 13 additions and 9 deletions

View file

@ -5,7 +5,7 @@
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"bent": "^7.3.12", "bent": "^7.3.12",
"doipjs": "^0.10.0", "doipjs": "^0.10.5",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
"express": "^4.17.1", "express": "^4.17.1",
"express-validator": "^6.8.0", "express-validator": "^6.8.0",

View file

@ -234,13 +234,17 @@ async function displayProfile(opts) {
let keyData, keyLink, sigVerification, sigKeyUri, fingerprint, feedback = "", verifications = []; let keyData, keyLink, sigVerification, sigKeyUri, fingerprint, feedback = "", verifications = [];
let icon_qr = '<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="#ffffff" d="M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z" /></svg>'; let icon_qr = '<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="#ffffff" d="M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z" /></svg>';
const doipOpts = {
proxyPolicy: 'adaptive',
}
// Reset the avatar // Reset the avatar
document.body.querySelector('#profileAvatar').style = 'display: none'; document.body.querySelector('#profileAvatar').style = 'display: none';
document.body.querySelector('#profileAvatar').src = '/static/img/avatar_placeholder.png'; document.body.querySelector('#profileAvatar').src = '/static/img/avatar_placeholder.png';
if (opts.mode == 'sig') { if (opts.mode == 'sig') {
try { try {
sigVerification = await doip.signatures.verify(opts.input); sigVerification = await doip.signatures.verify(opts.input, doipOpts);
keyData = sigVerification.publicKey.data; keyData = sigVerification.publicKey.data;
fingerprint = sigVerification.publicKey.fingerprint; fingerprint = sigVerification.publicKey.fingerprint;
} catch (e) { } catch (e) {
@ -290,7 +294,7 @@ async function displayProfile(opts) {
keyUriServer = keyUriMatch[2]; keyUriServer = keyUriMatch[2];
keyUriId = keyUriMatch[3]; keyUriId = keyUriMatch[3];
} }
switch (keyUriMode) { switch (keyUriMode) {
case "wkd": case "wkd":
const [, localPart, domain] = /(.*)@(.*)/.exec(keyUriId); const [, localPart, domain] = /(.*)@(.*)/.exec(keyUriId);
@ -383,7 +387,7 @@ async function displayProfile(opts) {
if (sigVerification) { if (sigVerification) {
verifications = sigVerification.claims verifications = sigVerification.claims
} else { } else {
verifications = await doip.claims.verify(keyData, fingerprint, {'proxyPolicy':'adaptive'}) verifications = await doip.claims.verify(keyData, fingerprint, doipOpts)
} }
} catch (e) { } catch (e) {
feedback += `<p>There was a problem verifying the claims.</p>`; feedback += `<p>There was a problem verifying the claims.</p>`;
@ -457,7 +461,7 @@ async function displayProfile(opts) {
feedback += `</div>`; feedback += `</div>`;
return; return;
} }
userId = userId.filter((a) => (a && a.errors.length == 0 && a.serviceproviderData)) userId = userId.filter((a) => (a && a.errors.length == 0 && a.serviceproviderData))
userId = userId.sort((a,b) => (a.serviceproviderData.serviceprovider.name > b.serviceproviderData.serviceprovider.name) ? 1 : ((b.serviceproviderData.serviceprovider.name > a.serviceproviderData.serviceprovider.name) ? -1 : 0)); userId = userId.sort((a,b) => (a.serviceproviderData.serviceprovider.name > b.serviceproviderData.serviceprovider.name) ? 1 : ((b.serviceproviderData.serviceprovider.name > a.serviceproviderData.serviceprovider.name) ? -1 : 0));

View file

@ -872,10 +872,10 @@ doctypes@^1.1.0:
resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=
doipjs@^0.10.0: doipjs@^0.10.5:
version "0.10.0" version "0.10.5"
resolved "https://registry.yarnpkg.com/doipjs/-/doipjs-0.10.0.tgz#d4547121aabba9c59abde690596e59e64237cd14" resolved "https://registry.yarnpkg.com/doipjs/-/doipjs-0.10.5.tgz#df82dd70aff2903eddd7262e63f4e80ef4a9eb49"
integrity sha512-vPdFZMbIQWPIHNDO2CFcqpCs2h4HgcQOO7eIYVIC7yfxpFZ3DIFCW68Bv1aCqRel9W/3YpN9p7ccgzHN/f113A== integrity sha512-uFgt7rL5Olq2ByTDhjWNBlnWFsQAx6x5pJfDicnioJVNPFXcSdT2PFejfZGUTAfyI/1q3NWpSDn+vuPiR5udHg==
dependencies: dependencies:
bent "^7.3.12" bent "^7.3.12"
browserify "^17.0.0" browserify "^17.0.0"