I have a project, in which I had to do a different login driver, because we used other fields for validation, different from the default one that is email and username. I created a login module and picked up all migrations from the Auth package of fuel and placed it inside my module, and made the necessary changes. Was it a good way I did it?
Another thing, I updated the core of one of the systems I have, and after that when I log in, the username and password are updated in the user table for the value 0. I have no idea what can be.
Shoudn't be a problem, we use different or modified login or acl drivers all the time.
It is probably not a good idea to copy pieces of Auth though, that might be asking for trouble. Auth is written to be very extendable, so it's better to extend or replace the simpleauth or ormauth driver, and then use Auth like normal instead of reinventing the wheel.
That's what I did, I've extended the login driver. The part of copying was just the migrations and change so that I wouldn't miss my alterations after some update.
We just run the Auth migrations, and have separate migrations in our module that contains our login module to modify what needs modifying. So we stay compatible with Auth.
The danger with copying things is to keep it up to date and in sync.
I don't however thing that this all is causing your problem, Auth has been designed to be able to do exactly this.
I did the steps to upgrade again, and the problem I reported happened again. But looking at my config in fuel / app, I had the ORM config of the fuelphp 1.7 there. So I changed the configuration file to the newer version, made the settings I needed, and the problem stopped.
Running the newer version of fuelphp with the ORM Auth config of 1.7 caused the reported problem, but now everything is running ok.