就拿登录来说:
//条件
$credentials = ['email' => $email, 'password' => $password];
$token = auth('api')->attempt($credentials);
等价于
JWTAuth::attempt($credentials)
等价于
Auth::guard('api')->attempt($credentials);
等价于( 如果默认了guard为api)
auth()->attempt($credentials);
一开始可能分不清Laravel自带的和JWT的有什么区别,其实:
auth()是辅助方法 而JWTAuth是一个Facade
JWTAuth::parseToken()->方法() 一般都可以换成 auth('api')->方法()
而auth('api') 又等价于 Auth::guard('api')->方法().
//其中api是auth.php文件里配置的guard参数,如果有默认guard值为api,则可以不写参数。
即使中间有细微差别,也无伤大雅。
auth()和Auth::guard(),是Laravel本身拥有的方法,只是需要指定guard的值。而JWTAuth是jwt的方法继承自Laravel的auth,所以才可以上面使用。