该请求缺少必需的参数:AWS ElasticBeanstalk和Cloudfront

时间:2018-08-29 17:18:54

标签: amazon-web-services oauth-2.0 elastic-beanstalk

我正在将Laravel 5.1与Lucadegasperi's OAuth 2一起使用。我的API服务器位于具有SSL证书的AWS ElasticBeanstalk上,并通过AWS Cloudfront发行版交付。

通过Cloudfront,可以更轻松地获取https证书并节省资金,因为将证书直接添加到EC2时,您需要昂贵的负载平衡。

无论如何,我向我的生产服务器发出一个带有OAuth2访问令牌的请求时,通过DHC收到以下错误,但我的本地主机上没有问题:

  

“错误”:“ invalid_request”,

     

“ error_description”:“请求缺少必需的参数,包含无效的参数值,包含一个以上的参数,或者格式错误。请检查\”访问令牌\“参数。”

对于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...

0 个答案:

没有答案