Laravel 5 使用Laravel 5、CORS和JWTAuth读取JWT令牌的授权头
我真的很难弄明白这一点。我正在使用我的Laravel5API,我在读取令牌时遇到问题。这就是我所知道和尝试的: 我已将CORS配置设置为允许API路径的所有标头: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(),
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}]