X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Factivitypub%2Fsignature.ts;h=f2f7d58487882f84a287581c8ccf39342e1332c7;hb=10363c74c1d869f0e0c7bc4d0367b1f34d1bb6a4;hp=360685512aae5c5b6955db256fc53e8fc0d16d1e;hpb=a2431b7dcbc72c05101dcdbe631ff84a823aeb51;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/activitypub/signature.ts b/server/middlewares/validators/activitypub/signature.ts index 360685512..f2f7d5848 100644 --- a/server/middlewares/validators/activitypub/signature.ts +++ b/server/middlewares/validators/activitypub/signature.ts @@ -1,16 +1,30 @@ import * as express from 'express' -import { body } from 'express-validator/check' -import { isDateValid, isSignatureCreatorValid, isSignatureTypeValid, isSignatureValueValid, logger } from '../../../helpers' -import { areValidationErrors } from '../utils' +import { body } from 'express-validator' +import { + isSignatureCreatorValid, + isSignatureTypeValid, + isSignatureValueValid +} from '../../../helpers/custom-validators/activitypub/signature' +import { isDateValid } from '../../../helpers/custom-validators/misc' +import { logger } from '../../../helpers/logger' +import { areValidationErrors } from '../shared' const signatureValidator = [ - body('signature.type').custom(isSignatureTypeValid).withMessage('Should have a valid signature type'), - body('signature.created').custom(isDateValid).withMessage('Should have a valid signature created date'), - body('signature.creator').custom(isSignatureCreatorValid).withMessage('Should have a valid signature creator'), - body('signature.signatureValue').custom(isSignatureValueValid).withMessage('Should have a valid signature value'), + body('signature.type') + .optional() + .custom(isSignatureTypeValid).withMessage('Should have a valid signature type'), + body('signature.created') + .optional() + .custom(isDateValid).withMessage('Should have a signature created date that conforms to ISO 8601'), + body('signature.creator') + .optional() + .custom(isSignatureCreatorValid).withMessage('Should have a valid signature creator'), + body('signature.signatureValue') + .optional() + .custom(isSignatureValueValid).withMessage('Should have a valid signature value'), (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking activitypub signature parameter', { parameters: { signature: req.body.signature } }) + logger.debug('Checking Linked Data Signature parameter', { parameters: { signature: req.body.signature } }) if (areValidationErrors(req, res)) return