您好,我有Jwt身份验证系统。(Laravel 7)
使用此控制器:
class AuthController extends Controller
{
public function signin(SigninForm $request)
{
$token = JWTAuth::attempt($request->only('email', 'password'));
return response()->json(['Authorization' => $token]);
}
}
使用此模型:
class User extends Authenticatable implements JWTSubject
{
use Notifiable, SoftDeletes;
public function getJWTIdentifier()
{
return $this->getKey();
}
public function getJWTCustomClaims()
{
return [];
}
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
protected $casts = [
'email_verified_at' => 'datetime',
];
}
config / auth.php:
'defaults' => [
'guard' => 'api',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
],
我尝试将OpenServer和Xampp用于服务器。
适用于开发的设置:msql 8.0,php 7.4。
在新的项目身份验证系统中工作一段时间,但过一段时间或重新启动后,他总是返回false。
我尝试使用composer dump-autoload
,php artisan optimize
,php artisan optimize:clear
,php artisan config:clear
,但是它不起作用。有人遇到这个问题吗?