addHour()); Passport::refreshTokensExpireIn(now()->addMonth()); // Register CustomUserProvider for web login Auth::provider('custom', function ($app, array $config) { return new CustomUserProvider($app['hash'], $config['model']); }); // Use custom Passport user repository for API login $this->app->afterResolving(AuthorizationServer::class, function ($server) { $grant = new \League\OAuth2\Server\Grant\PasswordGrant( app(PassportUserRepository::class), // Custom Passport user repository app(RefreshTokenRepository::class) ); $grant->setRefreshTokenTTL(new DateInterval('P1M')); // 1 month refresh token $server->enableGrantType($grant, new DateInterval('PT1H')); // 1 hour access token }); } }