Răsfoiți Sursa

Update HttpSignatures, update instance actor headers. Fixes #2935

Daniel Supernault 3 ani în urmă
părinte
comite
a900de2121

+ 6 - 7
app/Services/ActivityPubFetchService.php

@@ -2,7 +2,7 @@
 
 namespace App\Services;
 
-use Zttp\Zttp;
+use Illuminate\Support\Facades\Http;
 use App\Profile;
 use App\Util\ActivityPub\Helpers;
 use App\Util\ActivityPub\HttpSignature;
@@ -15,14 +15,13 @@ class ActivityPubFetchService
 			return 0;
 		}
 
-		$headers = HttpSignature::instanceActorSign($url, false, [
-			'Accept'		=> 'application/activity+json, application/json',
-			'User-Agent'	=> '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')'
-		]);
+		$headers = HttpSignature::instanceActorSign($url, false);
+		$headers['Accept'] = 'application/activity+json, application/json';
+		$headers['User-Agent'] = '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')';
 
-		return Zttp::withHeaders($headers)
+		return Http::withHeaders($headers)
 			->timeout(30)
 			->get($url)
 			->body();
 	}
-}
+}

+ 1 - 2
app/Util/ActivityPub/HttpSignature.php

@@ -43,7 +43,7 @@ class HttpSignature {
       $digest = self::_digest($body);
     }
     $headers = self::_headersToSign($url, $body ? $digest : false);
-    $headers = array_unique(array_merge($headers, $addlHeaders));
+    $headers = array_merge($headers, $addlHeaders);
     $stringToSign = self::_headersToSigningString($headers);
     $signedHeaders = implode(' ', array_map('strtolower', array_keys($headers)));
     $key = openssl_pkey_get_private($privateKey);
@@ -133,7 +133,6 @@ class HttpSignature {
       'Date' => $date->format('D, d M Y H:i:s \G\M\T'),
       'Host' => parse_url($url, PHP_URL_HOST),
       'Accept' => 'application/activity+json, application/json',
-      'Content-Type' => 'application/activity+json'
     ];
 
     if($digest) {