]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/controllers/webfinger.ts
Save
[github/Chocobozzz/PeerTube.git] / server / controllers / webfinger.ts
CommitLineData
350e31d6 1import * as express from 'express'
3fd3ab2d
C
2import { asyncMiddleware } from '../middlewares'
3import { webfingerValidator } from '../middlewares/validators'
4import { AccountModel } from '../models/account/account'
350e31d6
C
5
6const webfingerRouter = express.Router()
7
51548b31 8webfingerRouter.get('/.well-known/webfinger',
a2431b7d 9 asyncMiddleware(webfingerValidator),
350e31d6
C
10 webfingerController
11)
12
13// ---------------------------------------------------------------------------
14
15export {
16 webfingerRouter
17}
18
19// ---------------------------------------------------------------------------
20
21function webfingerController (req: express.Request, res: express.Response, next: express.NextFunction) {
3fd3ab2d 22 const account = res.locals.account as AccountModel
350e31d6
C
23
24 const json = {
25 subject: req.query.resource,
fadf619a 26 aliases: [ account.Actor.url ],
350e31d6
C
27 links: [
28 {
29 rel: 'self',
165cdc75 30 type: 'application/activity+json',
fadf619a 31 href: account.Actor.url
350e31d6
C
32 }
33 ]
34 }
35
36 return res.json(json).end()
37}