thinkphp5+vue 接口api验证码方式

我们采用的token令牌的方式验证用户,最近搞了个验证码接口,前端使用的vue接收,遇到如下问题:thinkphp5框架默认生成的验证码是session方式给到前端用户,但是vue端没有接收session的方式,这个问题不知道是不是前端不会接收session,会接收的就不存在这个问题.我们将验证码生成改为方法cache缓存方式,thinkphp5自带的composer下载验证码captcha类,在生成验证的地方添加缓存,缓存加密保证安全,验证依旧使用接口的方式,大致方法就是这样,有好方法的朋友帮忙分享下.指导下我.


前端vue代码这把








单独给个方法指向到前端页面,后端的生成验证码的方法


public function getcode()
 {
        ob_clean();
        $config = config('captcha');
        $captcha = new Captcha($config);
        return $captcha->entry();
    }


验证端接口处理,你也可以放上面生成验证码方法控制器一起,按自己需求来,代码如下


   public function vyverify(Request $request)
    {
        $param = $request->param();
        $code = strtolower($param['code']);
        if (empty($code)) {
            $this->error('验证码不能为空');
        }
        $verifycode = Cache::pull('verifycode');
        if(md5("$code") == base64_decode($verifycode)){
            throw new SuccessMessage(['msg' => '验证码验证成功!']);
        }else{
            throw  new ErrorException(['errorCode' => '10003', 'msg' => '验证码验证失败']);
        }
    }




你可能感兴趣的:(thinkphp5,thinkphp3.2)