Передача заголовков HTTP в приложение Cloud Foundry - PullRequest
1 голос
/ 17 октября 2019

Я пытаюсь развернуть приложение PHP в общедоступном приложении Cloud Foundry в IBM Cloud. Это приложение использует заголовок авторизации с токеном Bearer для аутентификации вызовов API. Однако этот токен удаляется до того, как он достигает моего кода, который мешает работе API.

В журналах маршрутизатора приложения Cloud Foundry я не вижу ни одного из исходных заголовков исходного запроса, сделанного дляПриложение было включено. Есть ли способ включить оригинальные заголовки в эти HTTP-запросы?

Кажется, я не могу найти ничего, что позволило бы это до сих пор, но интересно, если у кого-то еще была эта проблема.

1 Ответ

2 голосов
/ 18 октября 2019

Авторизация - это специальный заголовок, который может содержать конфиденциальную информацию. По умолчанию Apache HTTPD, который настраивает сборка PHP на Cloud Foundry, не будет передавать авторизацию сценариям, поскольку это может привести к утечке конфиденциальной информации в сценарий.

Вы должны иметь возможность разрешить этодобавив этот параметр: https://httpd.apache.org/docs/2.4/en/mod/core.html#cgipassauth

Если вы добавите файл .htaccess в свое приложение и поместите CGIPassAuth On в этот файл, это должно сделать прохождение заголовка Authorization. В качестве альтернативы вы можете настроить этот способ -> https://docs.cloudfoundry.org/buildpacks/php/gsg-php-config.html#engine-configurations

В качестве альтернативы, вы можете включить mod_openidc, который присутствует "из коробки" при использовании PHP buildpack. Это довольно простой способ включить регистрацию на основе OAuth2. https://github.com/zmartzone/mod_auth_openidc

Пример: https://github.com/dmikusa-pivotal/static-site-oidc-example

Надеюсь, это поможет!

Ссылка: https://github.com/cloudfoundry/php-buildpack/issues/190#issuecomment-433998851

...