xsolla/xsolla-sdk-php

PHP-FPM: Authorization header not found in Xsolla webhook request

CyberDemonLord opened this issue · 0 comments

Если на сервере включено PHP-FPM, то подсказка из хелпа
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
не работает.
Потому что Authorization теперь выглядит как
[REDIRECT_HTTP_AUTHORIZATION] => Signature 89b146d1f356337ac3b5813a1e0fed76fb7fd34b
и, конечно же, в headers не попадает. В webhook проверку авторизации не проходит.

Я не гуру в php, но вот этот костыль работает (WebhookAuthentificator.php)

    public function authenticateSignature(WebhookRequest $webhookRequest)
    {
	$headers = [];
	if (isset($_SERVER["REDIRECT_HTTP_AUTHORIZATION"]))
		$headers = array('authorization' => $_SERVER["REDIRECT_HTTP_AUTHORIZATION"]);
	else
        $headers = $webhookRequest->getHeaders();
...