I recently made some updates to Ion Auth 2 to allow the user to login with their username or email address. This was accomplished by creating another config setting called
identity_alt. This is optional and can be used to specify a secondary column which the user can use for their login. I am utilizing it for the email field, but really it can be linked to any other column on the user table. This enhancement will force this secondary column to be unique for new users if it is specified.
I have done a pull request to incorporate this into the core ion Auth code, and there is some debate on whether or not it should be there. Please go there and weigh in, we would appreciate your feedback.
Feel free to grab the update from my fork if you would like to get going on it now.