ran*_*mor 4 php apache laravel
我在Laravel BaseController中有以下代码.我想Authorization用带有令牌的标头来保护我的所有api资源.
public function __construct()
{
$this->beforeFilter('@getUserFromToken');
}
public function getUserFromToken($route, $request)
{
$accessToken = Request::header('Authorization');
if(!empty($accessToken)){
$this->currentUser = User::findByToken($accessToken);
}else{
return Request::header('Authorization'); //THE PROBLEM
return Response::json(['error'=>'Not authorized. Access token needed in Header.Authorization'], 403);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的.htaccess,如果这是相关的.
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
因此,如果我有标记的问题行,Apache将完美地读取所有内容.我会得到我的回复,而不是得到403.但是,如果我没有该行,我将收到403自定义错误消息的错误.为什么?显然我使用相同的代码$this->currentUser = User::findByToken($accessToken);,为什么通过留下标记线我将能够得到标题?是否在场景后面发生重定向,Authorization只是第二次以某种方式设置标题?是否有一个我错过了apache第一次拿起标题的设置?
更新:我想我的问题是:如果我只是return Response::json(['error'=>'Not authorized. Access token needed in Header.Authorization'], 403);,我将永远得到这个错误json.我的$ accessToken将永远为空.为什么?
更新:看起来我不应该重用AuthorizationHeader?我试过了:
$accessToken = Request::header('Custom-Token');
if(!empty($accessToken)){
$this->currentUser = User::findByToken($accessToken);
}else{
return Response::json(['error'=>'Not authorized. Access token needed in Header.Authorization'], 403);
}
Run Code Online (Sandbox Code Playgroud)
而这次我能够获得真正的令牌.我的问题仍然存在,为什么我可以返回"神奇"的标题并突然在Laravel中获得它?
这个相关的问题没有回答它,但指出了正确的方向:laravel 4:为什么Request :: header()没有得到指定的头?
还有一件事:Authorization如果我使用的php artisan serve是使用php dev服务器,那么标头在没有魔法返回的情况下工作.
ran*_*mor 15
这是一个Laravel和Apache问题,这行公共/ .htaccess为我修复了它:
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Run Code Online (Sandbox Code Playgroud)
该修复程序来自https://github.com/dingo/api/issues/54
| 归档时间: |
|
| 查看次数: |
3998 次 |
| 最近记录: |