I started implementing Opauth for CakePHP. It’s awesome that it’s easy to login via Facebook, Twitter…
Question is once Opauth returns login data what would be an efficient way to login the user to CakePHP?
Opauth doesn’t login the user to CakePHP. I think I’m supposed to create a user and save the facebook or other auth info to the db. Is there a plugin that allows me to do this easily?
One thing I love about CakePHP 2.0 was the way the Auth Plugins work, you can really customize one ore more Authentication methods. At the same time this leaves it to the developer to ‘hook in’ custom Auth Plugins to integrate the solution.
The plugin page has your answer, almost
Goto https://github.com/uzyn/cakephp-opauth#how-to-use
check step
#6“After validation, user will be redirected toRouter::url('/opauth-complete')with validated auth response data retrievable available at$this->data“after this is complete and you have code like their example
public function opauth_complete() {...in this function you will use the
$this->datato find your User that was authenticateda method I use at times is to find the user by 2 pieces of information that is provided by Opauth example: username and email
you can use something like
$loginUser = $this->User->find('first', array('fields'=>array('User.*'), 'conditions'=>array('User.username'=>$this->data['username'], 'User.email'=>$this->data['email']));once you have the user in
$loginUseryou can just call the$this->Auth->login($loginUser)and you will now have an AuthSession with that user!Let me know if you have any questions.