diff --git a/app/Jobs/Federation/DeliverCommentLikeActivity.php b/app/Jobs/Federation/DeliverCommentLikeActivity.php index a30593a2a..ca732efde 100644 --- a/app/Jobs/Federation/DeliverCommentLikeActivity.php +++ b/app/Jobs/Federation/DeliverCommentLikeActivity.php @@ -90,6 +90,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -98,7 +101,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverCommentReplyLikeActivity.php b/app/Jobs/Federation/DeliverCommentReplyLikeActivity.php index 3176e8e4b..123faee2e 100644 --- a/app/Jobs/Federation/DeliverCommentReplyLikeActivity.php +++ b/app/Jobs/Federation/DeliverCommentReplyLikeActivity.php @@ -90,6 +90,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -98,7 +101,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverCreateCommentActivity.php b/app/Jobs/Federation/DeliverCreateCommentActivity.php index 5f7082645..665841a64 100644 --- a/app/Jobs/Federation/DeliverCreateCommentActivity.php +++ b/app/Jobs/Federation/DeliverCreateCommentActivity.php @@ -93,6 +93,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -101,7 +104,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverCreateCommentReplyActivity.php b/app/Jobs/Federation/DeliverCreateCommentReplyActivity.php index fa38c9d80..8f880f48e 100644 --- a/app/Jobs/Federation/DeliverCreateCommentReplyActivity.php +++ b/app/Jobs/Federation/DeliverCreateCommentReplyActivity.php @@ -93,6 +93,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -101,7 +104,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverCreateVideoActivity.php b/app/Jobs/Federation/DeliverCreateVideoActivity.php index b6a8ac4a4..d77515261 100644 --- a/app/Jobs/Federation/DeliverCreateVideoActivity.php +++ b/app/Jobs/Federation/DeliverCreateVideoActivity.php @@ -97,6 +97,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -105,7 +108,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverDeleteCommentActivity.php b/app/Jobs/Federation/DeliverDeleteCommentActivity.php index 0ba88307c..37a67064d 100644 --- a/app/Jobs/Federation/DeliverDeleteCommentActivity.php +++ b/app/Jobs/Federation/DeliverDeleteCommentActivity.php @@ -95,6 +95,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -103,7 +106,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverDeleteCommentReplyActivity.php b/app/Jobs/Federation/DeliverDeleteCommentReplyActivity.php index 2616ac7e0..3b9ce24fa 100644 --- a/app/Jobs/Federation/DeliverDeleteCommentReplyActivity.php +++ b/app/Jobs/Federation/DeliverDeleteCommentReplyActivity.php @@ -95,6 +95,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -103,7 +106,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverDeleteVideoActivity.php b/app/Jobs/Federation/DeliverDeleteVideoActivity.php index 6c88cd6b6..23e1aad04 100644 --- a/app/Jobs/Federation/DeliverDeleteVideoActivity.php +++ b/app/Jobs/Federation/DeliverDeleteVideoActivity.php @@ -95,6 +95,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -103,7 +106,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverFollowRequest.php b/app/Jobs/Federation/DeliverFollowRequest.php index 0cb74bf32..227f8280c 100644 --- a/app/Jobs/Federation/DeliverFollowRequest.php +++ b/app/Jobs/Federation/DeliverFollowRequest.php @@ -71,6 +71,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -79,7 +82,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverRejectActivity.php b/app/Jobs/Federation/DeliverRejectActivity.php index 7d6783a5d..2ede44010 100644 --- a/app/Jobs/Federation/DeliverRejectActivity.php +++ b/app/Jobs/Federation/DeliverRejectActivity.php @@ -66,6 +66,9 @@ public function handle(): void } $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; $headers = [ 'Host' => $parsedUrl['host'], @@ -82,7 +85,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUndoCommentLikeActivity.php b/app/Jobs/Federation/DeliverUndoCommentLikeActivity.php index 1b139bd2d..2910c7c70 100644 --- a/app/Jobs/Federation/DeliverUndoCommentLikeActivity.php +++ b/app/Jobs/Federation/DeliverUndoCommentLikeActivity.php @@ -88,6 +88,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -96,7 +99,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUndoCommentReplyLikeActivity.php b/app/Jobs/Federation/DeliverUndoCommentReplyLikeActivity.php index c0f9eb177..f2c060b20 100644 --- a/app/Jobs/Federation/DeliverUndoCommentReplyLikeActivity.php +++ b/app/Jobs/Federation/DeliverUndoCommentReplyLikeActivity.php @@ -88,6 +88,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -96,7 +99,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUndoFollowActivity.php b/app/Jobs/Federation/DeliverUndoFollowActivity.php index abc631d12..4d50f2b18 100644 --- a/app/Jobs/Federation/DeliverUndoFollowActivity.php +++ b/app/Jobs/Federation/DeliverUndoFollowActivity.php @@ -83,6 +83,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -91,7 +94,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUndoFollowRequestActivity.php b/app/Jobs/Federation/DeliverUndoFollowRequestActivity.php index bf02d708a..c182c49dd 100644 --- a/app/Jobs/Federation/DeliverUndoFollowRequestActivity.php +++ b/app/Jobs/Federation/DeliverUndoFollowRequestActivity.php @@ -71,6 +71,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -79,7 +82,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUndoVideoLikeActivity.php b/app/Jobs/Federation/DeliverUndoVideoLikeActivity.php index 9ac929a15..e80db8791 100644 --- a/app/Jobs/Federation/DeliverUndoVideoLikeActivity.php +++ b/app/Jobs/Federation/DeliverUndoVideoLikeActivity.php @@ -92,6 +92,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -100,7 +103,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Jobs/Federation/DeliverUpdateVideoActivity.php b/app/Jobs/Federation/DeliverUpdateVideoActivity.php index f2be6deb5..2cd48d613 100644 --- a/app/Jobs/Federation/DeliverUpdateVideoActivity.php +++ b/app/Jobs/Federation/DeliverUpdateVideoActivity.php @@ -93,6 +93,9 @@ public function handle(): void ]; $signatureService = app(HttpSignatureService::class); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; try { $privateKey = app(SigningService::class)->getPrivateKey(); @@ -101,7 +104,7 @@ public function handle(): void $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, json_encode($activity) ); diff --git a/app/Services/DeliveryService.php b/app/Services/DeliveryService.php index 022711457..023508b68 100644 --- a/app/Services/DeliveryService.php +++ b/app/Services/DeliveryService.php @@ -40,12 +40,16 @@ public function deliverToInbox($actor, $target, $activity) try { $privateKey = app(SigningService::class)->getPrivateKey(); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; + $signature = $this->signatureService->sign( $actor->getKeyId(), $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, $body ); diff --git a/app/Services/RelayService.php b/app/Services/RelayService.php index 6784508a2..27860ffda 100644 --- a/app/Services/RelayService.php +++ b/app/Services/RelayService.php @@ -195,12 +195,16 @@ protected function deliverActivity(Profile $actor, string $inboxUrl, array $acti ]; $privateKey = $this->signingService->getPrivateKey(); + $path = $parsedUrl['path'] ?? '/'; + $queryString = isset($parsedUrl['query']) ? '?'.$parsedUrl['query'] : ''; + $requestPath = $path.$queryString; + $signature = app(HttpSignatureService::class)->sign( $actor->getKeyId(), $privateKey, $headers, 'POST', - $parsedUrl['path'] ?? '/', + $requestPath, $body );