mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-03 04:25:55 +01:00
refactor: resolveId method, add hostname verification
This commit is contained in:
@@ -24,6 +24,23 @@ ActivityPub.mocks = require('./mocks');
|
||||
ActivityPub.notes = require('./notes');
|
||||
ActivityPub.actors = require('./actors');
|
||||
|
||||
ActivityPub.resolveId = async (uid, id) => {
|
||||
try {
|
||||
const query = new URL(id);
|
||||
({ id } = await ActivityPub.get('uid', uid, id));
|
||||
const response = new URL(id);
|
||||
|
||||
if (query.host !== response.host) {
|
||||
winston.warn(`[activitypub/resolveId] id resolution domain mismatch: ${query.href} != ${response.href}`);
|
||||
return null;
|
||||
}
|
||||
|
||||
return id;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
ActivityPub.resolveInboxes = async (ids) => {
|
||||
const inboxes = new Set();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user