3月 11, 2021 -
laravel
laravel实现Http Only已关闭评论
laravel
laravel实现Http Only已关闭评论 laravel实现Http Only
Http Only主要的目的是用于token的安全,可防止token的被串改,httponly表示不能被js获取到cookie中的token
这样就不需要通过Cookie让前端人员手动传递到后端了,适用于前后端分离的项目实现
注意:后端域名和前端域名不一致的话,httponly会失效
1:先加个中间件:
代码如下:
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Auth\Middleware\Authenticate as Middleware;
class AddAuthTokenHeader extends Middleware
{
public function handle($request, Closure $next)
{
$cookie_name = config('session.auth_cookie_name');
if ($request->hasCookie($cookie_name)) {
$token = $request->cookie($cookie_name);
$request->headers->add([
'Authorization' => 'Bearer '.$token,
]);
}
return $next($request);
}
}
2:加个登录时设置cookie,登出删除cookie
3:看效果这样就实现:
另外:
secure是加密,禁用与https的网站,若本地调试是http的,则需要配置这个参数为false,这样http也可以了




