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);
})) as IWebFinger;
const subject = finger.subject.toLowerCase().replace(/^acct:/, '');
if (verifier) {
if (finger.subject.toLowerCase().replace(/^acct:/, '') !== verifier) {
throw 'WebFinger verfification failed';
if (typeof verifier === 'string') {
if (subject !== verifier) {
throw new Error;
}
return finger;
}
return resolve(finger.subject, finger.subject.toLowerCase());
if (typeof subject === 'string') {
return resolve(subject, subject);
}
throw new Error;
}