Я пытаюсь обновить зависимости в простом Laravel 5.7 приложении, которое аутентифицирует пользователя через SimpleSAML php, а затем отображает некоторую информацию, полученную из внешнего API.
Похоже, что-то изменилось между версией 4.3.8 и версией 4.4.0 библиотеки symfony / http-foundation, включенной в Laravel, потому что при обновлении этой зависимости я получаю следующую ошибку:
ErrorException (E_NOTICE): Undefined offset: 0 …/vendor/symfony/http-foundation/HeaderBag.php 126
Похоже, что это вызвано требованием файла автозагрузки поставщика услуг SimpleSAML php, даже если я не вызываю какие-либо методы.
Поскольку это чрезвычайно простое одностраничное приложение, я просто использую промежуточное программное обеспечение для обработки интеграции SimpleSAML php:
namespace App\Http\Middleware;
use Closure;
class SimpleSAMLphp
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
/**
* Load SimpleSAMLphp library
*/
require_once('redacted/path/simplesaml/lib/_autoload.php');
$ssphp = new \SimpleSAML\Auth\Simple('service-provider-name');
$ssphp->requireAuth();
return $next($request);
}
}
Похоже, Symfony HTTP Foundation изменил способ они проверяют информацию заголовка в этой версии (здесь я вижу обширные изменения: https://github.com/symfony/http-foundation/compare/v4.3.8...v4.4.0), но я не понимаю, почему это происходит, когда SimpleSAML php находится в миксе.
Я глубоко в этой кроличьей норе - любое руководство будет высоко ценится!