我希望手动授权用户知道用户名。但是,此帐户没有密码。它是与另一个表中的Twitter帐户关联创建的帐户。我可以验证正确的Twitter帐户是否正在尝试登录,但我需要能够使用Auth组件来授权链接到此Twitter帐户的用户。
链接到Twitter帐户的所有帐户都以相同的方式创建,没有密码。由于我们计划稍后进行更改以改进,因此通用密码不是一个可行的选项 - 无论用户表的密码字段中是什么(或不是),我们都需要对用户进行身份验证。
答案 0 :(得分:10)
我认为“授权”是指“认证”或“登录”。这就像将用户记录的主要ID传递给Auth::login()
:
$user = $this->User->find('first', array('conditions' => array('twitter_id' => ...)));
$this->Auth->login($user['User']['id']);
答案 1 :(得分:3)
Cake 2.3 +显然要求现在才能在数组中才能正常工作:
$this->Auth->login(array('id' =>$user['User']['id']));
将id作为单个整数传递不起作用。
答案 2 :(得分:1)
$this->Auth->login($user['User']['id']);
$this->Auth->login($user['User']['username']);
$this->Auth->login($user['User']['password']); // hashed password