从 Lumen 获得授权,从 Laravel 获得标头
Posted
技术标签:
【中文标题】从 Lumen 获得授权,从 Laravel 获得标头【英文标题】:Get authorization from Lumen and header from Laravel 【发布时间】:2017-08-25 08:14:03 【问题描述】:在项目中,所有 API 调用都来自 Lumen。 Front 是在 Laravel 中开发的。我们正在使用 Guzzle http 客户端 guzzleHttp 调用 Lumen API。
现在,我需要为所有 API 调用设置标头授权,因此我从 Laravel 的标头中发送令牌,但在 Lumen 中,我无法在 Lumen 请求标头中获取令牌。
下面是示例代码。
Laravel 控制器代码:
public function get_category()
$accessToken = 'kjdhfdkjfhdkjfhfjkdf9875443213456';
$response = \Guzzle::request("GET","example.com", "categories",['headers' => [
'Authorization' => $accessToken
]]);
$category_all = json_decode($response->getBody()->getContents(),true);
return $category_all;
流明中间件代码:
public function handle($request, Closure $next)
dd($request);
在 Lumen 请求中,我无法在请求标头中获取令牌。
【问题讨论】:
【参考方案1】:如果您使用的是 Apache,默认情况下它会删除 Authorization 标头。
您必须在 .htaccess
项目的文件或 apache .conf
文件中添加此设置(通常在 /etc/apache2/sites-available/
中):
RewriteEngine On
RewriteCond %HTTP:Authorization ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
Header set Access-Control-Allow-Headers "Authorization"
【讨论】:
以上是关于从 Lumen 获得授权,从 Laravel 获得标头的主要内容,如果未能解决你的问题,请参考以下文章