Update FederationController

This commit is contained in:
Daniel Supernault 2019-03-01 16:19:03 -07:00
parent da28b13545
commit bca53ae40e
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -242,9 +242,16 @@ XML;
protected function blindKeyRotation(Request $request, Profile $profile) protected function blindKeyRotation(Request $request, Profile $profile)
{ {
$signature = $request->header('signature'); $signature = $request->header('signature');
$date = $request->header('date');
if(!$signature) { if(!$signature) {
abort(400, 'Missing signature header'); abort(400, 'Missing signature header');
} }
if(!$date) {
abort(400, 'Missing date header');
}
if(!now()->parse($date)->gt(now()->subDays(1)) || !now()->parse($date)->lt(now()->addDays(1))) {
abort(400, 'Invalid date');
}
$signatureData = HttpSignature::parseSignatureHeader($signature); $signatureData = HttpSignature::parseSignatureHeader($signature);
$keyId = Helpers::validateUrl($signatureData['keyId']); $keyId = Helpers::validateUrl($signatureData['keyId']);
$actor = Profile::whereKeyId($keyId)->whereNotNull('remote_url')->firstOrFail(); $actor = Profile::whereKeyId($keyId)->whereNotNull('remote_url')->firstOrFail();