我正在使用laravel 5.2。我正在使用" jwt.auth"用于生成JSON Web令牌的包。
我启动了服务器
php artisan serve
现在,
我将向我的服务器发送获取请求到网址:
localhost:8000/api/v1/company
我在标题中传递了Authorization:Bearer {token}。
我得到回应。
现在我用我的IP地址做同样的事情(因为我们在局域网中工作):
http://10.0.1.65/project/public/api/v1/company
我在标题中传递Authorization:Bearer {token}。 这回复了我{"错误":" token_not_provided"}
没有使用jwt.auth的控制器工作正常。但是使用的控制器正在返回。
我不知道里面发生了什么。
为什么会发生这种情况?为localhost工作但不使用我的IP?
答案 0 :(得分:1)
纠正了这个问题。
这不起作用的原因是,在laravel 5.2中默认为标题, 授权:不接受“CORS”请求的承载{token}。
这就是为什么这不起作用的主要原因。所以,我们需要在/public/.httaccess中添加以下代码。这段代码告诉服务器在跨域访问时接受授权标头。
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]