diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-02 04:15:27 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-02 04:15:27 +0900 |
| commit | cd2542e0fd8578f6e41114ffebbda1f16f7d04ce (patch) | |
| tree | c339b7808fc2a3d72ae30cb86ddb7b9c21852652 /src/remote/webfinger.ts | |
| parent | Refactor (diff) | |
| download | misskey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.tar.gz misskey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.tar.bz2 misskey-cd2542e0fd8578f6e41114ffebbda1f16f7d04ce.zip | |
Refactor
Diffstat (limited to 'src/remote/webfinger.ts')
| -rw-r--r-- | src/remote/webfinger.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/remote/webfinger.ts b/src/remote/webfinger.ts new file mode 100644 index 0000000000..fec5da689c --- /dev/null +++ b/src/remote/webfinger.ts @@ -0,0 +1,25 @@ +const WebFinger = require('webfinger.js'); + +const webFinger = new WebFinger({ }); + +type ILink = { + href: string; + rel: string; +}; + +type IWebFinger = { + links: ILink[]; + subject: string; +}; + +export default (query, verifier): Promise<IWebFinger> => new Promise((res, rej) => webFinger.lookup(query, (error, result) => { + if (error) { + return rej(error); + } + + if (result.object.subject.toLowerCase().replace(/^acct:/, '') !== verifier) { + return rej('WebFinger verfification failed'); + } + + res(result.object); +})); |