从 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 获得标头的主要内容,如果未能解决你的问题,请参考以下文章

Laravel sanctum 获得 401 未授权

Laravel/lumen 5.2 从现有数据库生成迁移表

Laravel/Lumen - 如何从网站触发工作流程?

如何使用 Composer 安装 lumen 5.8

Laravel lumen 从作曲家安装邮件

Laravel Lumen 从路由调用工匠命令