diff --git a/src/middleware/activitypub.js b/src/middleware/activitypub.js index 4d3edb016c..6909347636 100644 --- a/src/middleware/activitypub.js +++ b/src/middleware/activitypub.js @@ -105,7 +105,8 @@ middleware.assertPayload = async function (req, res, next) { // Cross-check key ownership against received actor await activitypub.actors.assert(actor); - const compare = ((await db.getObjectField(`userRemote:${actor}:keys`, 'id')) || '').replace(/#[\w-]+$/, ''); + let compare = await db.getObjectsFields([`userRemote:${actor}:keys`, `categoryRemote:${actor}:keys`], ['id']); + compare = compare.reduce((keyId, { id }) => keyId || id, '').replace(/#[\w-]+$/, ''); const { signature } = req.headers; let keyId = new Map(signature.split(',').filter(Boolean).map((v) => { const index = v.indexOf('=');