Я использую Laravel 5.1 с OAuth Lucadegasperi 2 . Мой API-сервер находится на AWS ElasticBeanstalk с сертификатом SSL и поставляется через дистрибутив AWS Cloudfront.
Cloudfront упростил получение сертификата https и сэкономил деньги, поскольку для добавления сертификата непосредственно в EC2 вам потребуется дорогостоящее распределение нагрузки.
В любом случае, я получаю следующую ошибку через DHC при отправке запроса с токеном доступа OAuth2 на мой производственный сервер, , но у меня нет проблем на моем локальном хосте :
«ошибка»: «недопустимый запрос»,
"error_description": "В запросе отсутствует обязательный параметр, оно содержит недопустимое значение параметра, содержит параметр более одного раза или неправильно сформировано. Проверьте параметр \" token \ "."
Для prod / local я сначала делаю запрос на получение токена доступа (изменяя URL соответствующим образом):
POST: http://myapp-api.localhost/1.0/oauth/access_token
HEADERS: Content-Type: application/json
BODY: {
"username" : "my@myemail.com",
"password" : "password",
"client_id" : "myclientid",
"client_secret" : "myclientsecret",
"grant_type" : "password",
"refresh_grant" : "refresh_token"
}
Получает токен доступа, который я затем использую для успешного выполнения квеста:
GET: http://myapp-api.localhost/1.0/quests/1
HEADERS: Authorization: Bearer aTNk...
Как получение токена доступа, так и запрос защищенного маршрута OAuth2, /quests/1
, на локальном хосте работают нормально.
Но на сервере AWS выполнение того же запроса ниже приводит к ошибке выше:
GET: https://api.myapp.com/1.0/quests/1
HEADERS: Authorization: Bearer zYrA...