PHP + Apache — невозможно получить getHeader («Авторизация»)

Я пытаюсь реализовать аутентификацию в PHP API, но всякий раз, когда я пытаюсь получить

$request->getHeader('Authorization');

он всегда возвращается пустым.

Я пробовал несколько решений, таких как редактирование файла .htaccess внутри проекта:

RewriteEngine On
CGIPassAuth On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]

Но безуспешно.

Это класс промежуточного программного обеспечения:

<?php

namespace App\Middleware;

use App\Models\User;

class Authentication{

public function __invoke($request, $response, $next){

$auth = $request->getHeader('Authorization');

$_apikey = $auth[0];
$apikey = substr($_apikey, strpos($_apikey,'')+1);

$user = new User();

if(!$user->auth($apikey)){
return $response->withStatus(401);
}

$response = $next($request,$response);

return $response;
}
}

Единственным выводом с сервера является то, что $ auth является пустым массивом.

[Ср 7 Ноябрь 09:39:09 2018] Примечание PHP: Неопределенное смещение: 0 в /var/www/html/slim_app/app/Middleware/Authentication.php в строке 13

[Ср 7 Ноября 09:39:09 2018] PHP Предупреждение: strpos (): пустая стрелка в /var/www/html/slim_app/app/Middleware/Authentication.php в строке 14

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector