Laravel 8 无状态 HTTP 基础认证

2021-07-17 17:16 更新

你也可以使用 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'); 


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号