个人笔记--nothing

1、使用job的异步队列发送邮件,基于datadase,需要创建job表

php artisan queue:table

php artisan queue:failed-table
php artisan migrate

使用:php artisan queue:work  --tries=3  面板查看任务执行情况 默认队列名为default 从job数据表看得出来,
php artisan queue:work  --tries=3 --queue=send_email ,不仅可以检测还可以执行job表未完成的任务。

2、Rsync命令替代Scp  和 ftp传文件

3、第三方登录或者利用jwt的刷新token的中间件:RefreshToken.php ,然后将接口路由写进中间件的group里,其实就是重写父类的方法。

public function handle($request, Closure $next)
{

    // 检查此次请求中是否带有 token,如果没有则抛出异常。
    $this->checkForToken($request);

    // 使用 try 包裹,以捕捉 token 过期所抛出的 TokenExpiredException  异常
    try {
        // 检测用户的登录状态,如果正常则通过
        if ($this->auth->parseToken()->authenticate()) {
            return $next($request);
        }
        throw new UnauthorizedHttpException('jwt-auth', '未登录');
    }catch(TokenBlacklistedException $exception){
        //当用户退出之后,token就会被拉黑,就会返回TokenBlacklistedException
        throw new UnauthorizedHttpException('jwt-auth', '未登录');
    }catch (TokenExpiredException $exception) {
        // 此处捕获到了 token 过期所抛出的 TokenExpiredException 异常,我们在这里需要做的是刷新该用户的 token 并将它添加到响应头中
        try {
            // 刷新用户的 token
            $token = $this->auth->refresh();
            // 使用一次性登录以保证此次请求的成功
            Auth::guard('api')->onceUsingId($this->auth->manager()->getPayloadFactory()->buildClaimsCollection()->toPlainArray()['sub']);
        } catch (JWTException $exception) {
            // 如果捕获到此异常,即代表 refresh 也过期了,用户无法刷新令牌,需要重新登录。
            throw new UnauthorizedHttpException('jwt-auth', $exception->getMessage());
        }
    }

    //在响应头中返回新的token
    return $this->setAuthenticationHeader($next($request), $token);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值