【问题标题】:Authorization Credentials Stripped — PHP, elastic beanstalk, oauth授权凭证被剥离——PHP、弹性beantalk、oauth
【发布时间】:2016-11-13 19:07:03
【问题描述】:

我注意到我的 Elastic Beanstalk 部署的 Laravel 5.1 API 和 S3 Angular 静态应用程序正在从我的请求中删除我的身份验证凭据。我的 API 使用 https://github.com/lucadegasperi/oauth2-server-laravel 进行 OAuth2。

我关注了this SO post on the issue,但似乎它与 python 部署直接相关。

我的 EB 部署正在运行:

运行 PHP 5.6 的 64 位 Amazon Linux 2015.09 v2.0.4

当我检查我的 localhost 请求时,我看到 Access 标头存在:

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

请求

回应

在暂存时,它们被剥离:

请求

回应

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

同样,我已经使用cURLDHC 发布到我的API 以照常获取令牌,然后向/dashboard 发出API 请求,这在本地工作,但会引发错误:

{ "error": "invalid_request", "error_description": "请求是 缺少必需的参数,包括无效的参数值, 包含不止一次的参数,或者格式错误。查看 “访问令牌”参数。”}

如何使用 PHP 解决这个问题? WSGIPassAuthorization 是 Python 的东西吗?

【问题讨论】:

  • 我在任一屏幕截图中都没有看到访问令牌。您还分享了响应而不是请求。
  • @PeeHaa 见上文编辑

标签: php angularjs amazon-web-services oauth


【解决方案1】:

Apache 中存在一个错误,它会删除 Authorization 标头,因为它认为它不需要。

我通过修改我的 Apache 访问规则文件 .htaccess(你可以在你的 Laravel 项目中找到它)解决了这个问题,以检查这个特定的标头,并复制标头并通过它:

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

【讨论】:

    猜你喜欢
    • 2020-12-22
    • 2017-02-01
    • 2014-12-20
    • 2018-12-11
    • 2014-12-11
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多