Учетные данные авторизации удалены — PHP, эластичный beanstalk, oauth

Я заметил, что мой API-интерфейс Laravel 5.1, развернутый Elastic Beanstalk, и статическое приложение S3 Angular лишают мои учетные данные аутентификации из моих запросов. Мой API использует https://github.com/lucadegasperi/oauth2-server-laravel для OAuth2.

Я следил за этой записью SO по проблеме, но кажется, что это напрямую связано в развертывание python.

Мое развертывание EB выполняется:

64-разрядная версия Amazon Linux 2015.09 v2.0.4 с PHP 5.6

Когда я проверяю свои запросы localhost, я вижу, что заголовки Access присутствуют:

http://dde-api.localhost/1.0/me/1/dashboard

Запрос:

введите здесь описание изображения

Ответ:

введите здесь описание изображения

На Staging они раздеты:

Запрос:

введите здесь описание изображения

Ответ:

http://dde.staging.com.s3-website-us-east-1.amazonaws.com/html/pages/dashboard.html

введите здесь описание изображения

Точно так же я отправил сообщение с использованием cURL и DHC в свой API, чтобы получить токен, как обычно, затем сделал запрос API к /dashboard, который работает локально, но выдает ошибку:

{ "error": "invalid_request", "error_description": "В запросе отсутствует обязательный параметр, он содержит недопустимое значение параметра, включает параметр более одного раза или имеет иной неверный формат. Проверьте параметр \"токен доступа\". " }

Как я могу решить эту проблему с помощью PHP? Является ли WSGIPassAuthorization фишкой Python?


person Growler    schedule 11.07.2016    source источник
comment
Я не вижу токена доступа ни на одном скриншоте. Также вы поделились ответами, а не запросами.   -  person PeeHaa    schedule 11.07.2016
comment
@PeeHaa см. выше редактировать   -  person Growler    schedule 11.07.2016


Ответы (1)


В apache есть ошибка, которая удаляет заголовки Authorization, поскольку считает, что они не нужны.

Я решил эту проблему, изменив мой файл правил доступа Apache, .htaccess (вы можете найти его в своем проекте Laravel), чтобы проверить этот конкретный заголовок, сделать копию заголовка и передать его:

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
person Growler    schedule 11.07.2016