Lumen从请求获取标题密钥

时间:2017-12-16 12:40:56

标签: .htaccess api lumen request-headers lumen-5.4

我正在使用 Lumen 框架在 API 中实施身份验证。我正在标题中传递 api_token ,在我的localhost,wampserver上它正常工作。在 Linux服务器上传时,它会在 api_token标题中显示空值。我正在使用 postman 来检查回复

继承我的AuthMiddleware @处理代码以检查值。

echo $request->header("api_token");

我大部分时间用谷歌搜索,发现公共/ .htaccess改变了要求,但对我没有用。

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

在我的.htaccess

的末尾
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

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

我不知道如何为请求标头配置apache2。请帮我解决相关的配置或解决方案。

1 个答案:

答案 0 :(得分:2)

请求标头密钥应避免使用underscorehyphen更常见,您应该将请求标头密钥重命名为 api-token 。根据{{​​3}}:

  

标头到环境变量的转换比严格要好   之前通过缓解一些可能的跨站点脚本攻击   标题注入。 包含无效字符的标头(包括   下划线)现在默默地放弃。 Apache中的环境变量   有一些关于如何解决破碎的遗留客户的问题   需要这样的标题。 (这会影响使用这些模块的所有模块   环境变量。)