阅读(678)
赞(11)
Laravel 8 无状态 HTTP 基础认证
2021-06-29 15:28:38 更新
你也可以使用 HTTP 基础身份验证,而无需在会话中设置用户标识符 cookie,这对 API 的身份验证特别有用。为此 ,请 定义一个中间件 它将调用 onceBasic
方法。如果 onceBasic
方法没有返回任何响应,那么请求就可以进一步传递到应用程序中:
<?php
namespace App\Http\Middleware;
use Illuminate\Support\Facades\Auth;
class AuthenticateOnceWithBasicAuth
{
/**
* 处理传入的请求
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, $next)
{
return Auth::onceBasic() ?: $next($request);
}
}
接着, 注册路由中间件 并将它附加到路由:
Route::get('api/user', function () {
// 只有经过身份验证的用户才能进入...
})->middleware('auth.basic.once');