1. 根底的装置/用法请参照我的项目文档

github: https://github.com/mewebstudi...

2. api调用接口

http://localhost/captcha/api/math
math能够替换为配置文件的所定义的验证码类型
该接口返回json,次要应用两个参数key和img
key须要一起传递给后盾做验证
img是图片base64 用作前端显示
后盾验证

$rules = ['captcha' => 'required|captcha_api:'. request('key') . ',default'];$validator = validator()->make(request()->all(), $rules);

3. 集成passport做登录验证

通过middleware形式拦挡验证
创立CheckLoginCaptchaMiddleware中间件

<?phpnamespace App\Http\Middleware;use Closure;use Illuminate\Http\Request;class CheckLoginCaptchaMiddleware{    /**     * Handle an incoming request.     *     * @param  \Illuminate\Http\Request  $request     * @param  \Closure  $next     * @return mixed     */    public function handle(Request $request, Closure $next)    {        if($request->path()==="oauth/token"){ // 判断是否是passport登录接口            $check = validator($request->all(),[                'captcha' => 'required|captcha_api:'. request('key') . ',login'            ]);            if(!$check->passes()){                return response(["message"=>$check->errors()->first()],400);            }        }        return $next($request);    }}

在Http/kernel.php

   protected $middleware = [      ...      \App\Http\Middleware\CheckLoginCaptchaMiddleware::class,   ];