3月 11, 2021 - 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也可以了