]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/webfinger.ts
Implement remote interaction
[github/Chocobozzz/PeerTube.git] / server / controllers / webfinger.ts
index fc9575160bf42e15a74ffc570eb9c2560732eb1d..885e4498f069c02df78f0114235b0339487d3fd3 100644 (file)
@@ -1,9 +1,13 @@
+import * as cors from 'cors'
 import * as express from 'express'
+import { WEBSERVER } from '@server/initializers/constants'
 import { asyncMiddleware } from '../middlewares'
 import { webfingerValidator } from '../middlewares/validators'
 
 const webfingerRouter = express.Router()
 
+webfingerRouter.use(cors())
+
 webfingerRouter.get('/.well-known/webfinger',
   asyncMiddleware(webfingerValidator),
   webfingerController
@@ -18,7 +22,7 @@ export {
 // ---------------------------------------------------------------------------
 
 function webfingerController (req: express.Request, res: express.Response) {
-  const actor = res.locals.actorFull
+  const actor = res.locals.actorUrl
 
   const json = {
     subject: req.query.resource,
@@ -28,9 +32,13 @@ function webfingerController (req: express.Request, res: express.Response) {
         rel: 'self',
         type: 'application/activity+json',
         href: actor.url
+      },
+      {
+        rel: 'http://ostatus.org/schema/1.0/subscribe',
+        template: WEBSERVER.URL + '/remote-interaction?uri={uri}'
       }
     ]
   }
 
-  return res.json(json).end()
+  return res.json(json)
 }