X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fwebfinger.ts;h=5fe864f8b6a62233d0352be6c6a11e4fa41727d2;hb=adc1f09c0dbd997f34028c1c82d1c118dc8ead80;hp=7903c740078dc3d463a9722ef9985540729f6d89;hpb=3fd3ab2d34d512b160a5e6084d7609be7b4f4452;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/webfinger.ts b/server/middlewares/validators/webfinger.ts index 7903c7400..5fe864f8b 100644 --- a/server/middlewares/validators/webfinger.ts +++ b/server/middlewares/validators/webfinger.ts @@ -1,12 +1,13 @@ import * as express from 'express' -import { query } from 'express-validator/check' -import { logger } from '../../helpers' -import { isWebfingerResourceValid } from '../../helpers/custom-validators/webfinger' -import { AccountModel } from '../../models/account/account' +import { query } from 'express-validator' +import { isWebfingerLocalResourceValid } from '../../helpers/custom-validators/webfinger' +import { logger } from '../../helpers/logger' +import { ActorModel } from '../../models/activitypub/actor' import { areValidationErrors } from './utils' +import { getHostWithPort } from '../../helpers/express-utils' const webfingerValidator = [ - query('resource').custom(isWebfingerResourceValid).withMessage('Should have a valid webfinger resource'), + query('resource').custom(isWebfingerLocalResourceValid).withMessage('Should have a valid webfinger resource'), async (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking webfinger parameters', { parameters: req.query }) @@ -14,17 +15,17 @@ const webfingerValidator = [ if (areValidationErrors(req, res)) return // Remove 'acct:' from the beginning of the string - const nameWithHost = req.query.resource.substr(5) + const nameWithHost = getHostWithPort(req.query.resource.substr(5)) const [ name ] = nameWithHost.split('@') - const account = await AccountModel.loadLocalByName(name) - if (!account) { + const actor = await ActorModel.loadLocalUrlByName(name) + if (!actor) { return res.status(404) - .send({ error: 'Account not found' }) + .send({ error: 'Actor not found' }) .end() } - res.locals.account = account + res.locals.actorUrl = actor return next() } ]