Laravel 5 使用Laravel 5、CORS和JWTAuth读取JWT令牌的授权头

Laravel 5 使用Laravel 5、CORS和JWTAuth读取JWT令牌的授权头,laravel-5,cors,jwt,Laravel 5,Cors,Jwt,我真的很难弄明白这一点。我正在使用我的Laravel5API,我在读取令牌时遇到问题。这就是我所知道和尝试的: 我已将CORS配置设置为允许API路径的所有标头: return array( 'defaults' => array( 'supportsCredentials' => false, 'allowedOrigins' => array(), 'allowedHeaders' => array(),

我真的很难弄明白这一点。我正在使用我的Laravel5API,我在读取令牌时遇到问题。这就是我所知道和尝试的:

我已将CORS配置设置为允许API路径的所有标头:

    return array(
    'defaults' => array(
        'supportsCredentials' => false,
        'allowedOrigins' => array(),
        'allowedHeaders' => array(),
        'allowedMethods' => array(),
        'exposedHeaders' => array(),
        'maxAge' => 0,
        'hosts' => array(),
    ),

    'paths' => array(
        'api/*' => array(
            'allowedOrigins' => array('*'),
            'allowedHeaders' => array('*'),
            'allowedMethods' => array('*'),
            'maxAge' => 3600,
        ),
        '*' => array(
            'allowedOrigins' => array('*'),
            'allowedHeaders' => array('Content-Type'),
            'allowedMethods' => array('POST', 'PUT', 'GET', 'DELETE'),
            'maxAge' => 3600,
            'hosts' => array('api.*'),
        ),
    ),

);
我已将以下内容添加到apache的启用站点的conf文件中:

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
我可以在Chrome工具中看到,头是用正确的令牌和正确的格式传递回来的:Authorization:Bearer-tokenstring


有人能看出我做错了什么吗?有人知道这个问题吗?

我知道我的问题在哪里。根据以下文件:

Apache用户注意事项

如果不是base64,Apache似乎会放弃授权头 编码用户/通行证组合。因此,要解决此问题,您可以将以下内容添加到 您的apache配置


我认为apache配置是指000-default.conf文件。我错了。事实上,这应该在.htaccess文件中完成。一旦完成。。。噗,一切正常

在我的
AWS
服务器
EC2
中,我必须编辑我的
/etc/apache2/apache2.conf
文件,并在最底部粘贴:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
然后在my
.htaccess

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
这一切如期而至

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