Я использую Basic Auth в своем API (Silex), конечная точка принимает пользователя + pw от клиента, проверяет пользователя через базовый auth и затем возвращает токен, который будет использоваться для дальнейших запросов. Теперь, когда мое приложение вызывает вызов AJAX, если учетные данные верны, все работает плавно. Если учетные данные неверны, API возвращает 401 и набор заголовков WWW-Authenticate. Это заставляет браузеры автоматически отображать форму входа в систему по умолчанию.
Я не хочу, чтобы это произошло. В StackOverflow говорят, что единственные два решения – либо вернуть 400 вместо 401, либо изменить заголовок WWW-Authenticate на нечто вроде «FormBased».
Оба параметра statusCode равны 401, а WWW-Authenticate – «Basic …» в BasicAuthenticationEntryPoint.php в компоненте безопасности.
Если я применяю изменения там, он работает … но мне нужно иметь это как часть моего проекта … Как переписать Symfony \ Component \ Security \ Http \ EntryPoint \ BasicAuthenticationEntryPoint.php, чтобы адаптировать его к моим потребностям ? любая идея, если есть обходной путь? Я понимаю, что это должна быть очень распространенная проблема, как она вообще решается?