You will want to take a look at Auth.php's class. /system/libraries/Auth.php. This class is an abstraction of the authentication API and allows you to do exactly what you want. The loggin as user function uses the same methods as well as a member module.
You can also take a look at the Authenticate module (which is free) for you to understand how others work with the Auth class.
https://objectivehtml.com/authenticate
Here are some pseudo codes to use:
// Fetch the member from the DB using whatever logic you need $this->EE->db->where('username', 'some-username'); $member = $this->EE->db->get('members'); $this->EE->load->library('auth'); // Load a new Auth_result object which logs in the member $authed = new Auth_result($member->row()); $authed->start_session($cp_session = FALSE); $member->free_result();
This code should work, but I did not have time to execute it, so it read the pseudocode.
I should also add that I'm not sure if this is even the best way to solve your problem. I just answer the questions "how to program the user login without knowing their password and without submitting the login form."
Justin kimbrell
source share