From f28aea9e303af96978da5e27739b5fd8e23b8f86 Mon Sep 17 00:00:00 2001
From: momoirodouhu <momoirodouhu@gmail.com>
Date: Sun, 12 Feb 2023 08:22:42 +0900
Subject: [PATCH] add cors header to ActivityPubServerService.ts (#9888)

* add cors header to ActivityPubServerService.ts

* Update CHANGELOG.md
---
 CHANGELOG.md                                            | 1 +
 packages/backend/src/server/ActivityPubServerService.ts | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c11d186926..7d0fbd0a23 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ You should also include the user name that made the change.
 
 ### Improvements
 - アニメーションを少なくする設定の時、MkPageHeaderのタブアニメーションを無効化
+- Backend: activitypub情報がcorsでブロックされないようヘッダーを追加
 
 ### Bugfixes
 - Client: ユーザーページでアクティビティを見ることができない問題を修正
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index 186d3822d8..5480395eeb 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -441,6 +441,14 @@ export class ActivityPubServerService {
 		fastify.addContentTypeParser('application/activity+json', { parseAs: 'string' }, fastify.getDefaultJsonParser('ignore', 'ignore'));
 		fastify.addContentTypeParser('application/ld+json', { parseAs: 'string' }, fastify.getDefaultJsonParser('ignore', 'ignore'));
 
+		fastify.addHook('onRequest', (request, reply, done) => {
+			reply.header('Access-Control-Allow-Headers', 'Accept');
+			reply.header('Access-Control-Allow-Methods', 'GET, OPTIONS');
+			reply.header('Access-Control-Allow-Origin', '*');
+			reply.header('Access-Control-Expose-Headers', 'Vary');
+			done();
+		});
+
 		//#region Routing
 		// inbox (limit: 64kb)
 		fastify.post('/inbox', { bodyLimit: 1024 * 64 }, async (request, reply) => await this.inbox(request, reply));
-- 
GitLab