Improve WebFinger verification

This commit is contained in:
Akihiko Odaki 2018-04-02 19:37:00 +09:00
parent 69763ac32b
commit 8361289b4e

View file

@ -20,14 +20,19 @@ export default async function resolve(query, verifier?: string): Promise<IWebFin
res(result.object); res(result.object);
})) as IWebFinger; })) as IWebFinger;
const subject = finger.subject.toLowerCase().replace(/^acct:/, '');
if (verifier) { if (typeof verifier === 'string') {
if (finger.subject.toLowerCase().replace(/^acct:/, '') !== verifier) { if (subject !== verifier) {
throw 'WebFinger verfification failed'; throw new Error;
} }
return finger; return finger;
} }
return resolve(finger.subject, finger.subject.toLowerCase()); if (typeof subject === 'string') {
return resolve(subject, subject);
}
throw new Error;
} }