diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-04-02 19:38:47 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-04-02 19:38:47 +0900 |
| commit | da36d50cfe8c766c560ff6aa0b88576c0a2c7536 (patch) | |
| tree | 20407b4a7cc5dd9276b1aa864e4e611e4a8d7c8e /src | |
| parent | :v: (diff) | |
| parent | Improve WebFinger verification (diff) | |
| download | misskey-da36d50cfe8c766c560ff6aa0b88576c0a2c7536.tar.gz misskey-da36d50cfe8c766c560ff6aa0b88576c0a2c7536.tar.bz2 misskey-da36d50cfe8c766c560ff6aa0b88576c0a2c7536.zip | |
Merge pull request #1372 from akihikodaki/misc
Improve WebFinger verification
Diffstat (limited to 'src')
| -rw-r--r-- | src/remote/webfinger.ts | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/remote/webfinger.ts b/src/remote/webfinger.ts index 4c0304e3f1..c84beb099b 100644 --- a/src/remote/webfinger.ts +++ b/src/remote/webfinger.ts @@ -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; } |