我已经成功地配置了这个。问题是,当我更改以下行时:
//I have set all requested data with the user's username
//modify here with relevant data
$user->setUsername($username);
$user->setEmail($username);
$user->setPassword($username);
进入我想要检索的信息,例如真实姓名、电子邮件、我生成的密码等,当我单击 Facebook 的登录按钮时,我再次被询问是否要连接到我的本地测试站点。
据我了解,在我上面链接的文档中,这是:
$user = $this->userManager->findUserBy(array($this->getProperty($response) => $username));
是检查用户是否存在的行,初始代码本身将facebook_id或twitter_id(这是我保存它们的方式)设置为新用户*用户名*。如果我换行
$user->setUsername($username); //same as facebook/twitter _id
进入
$user->setUsername(setProperUsername()); //sets a proper unique username
然后每次我尝试登录时,我都会收到“注册”消息。所以,我对它的工作原理有一个大致的了解,但我很难理解一些事情:
1.当我在 Facebook 注册并用 twitter 登录时,我再次注册,不知道创建行,但更新/填充缺少的 twitter_id 字段,用户名保持不变。当我以前的数据来自 Facebook 而不是 Twitter 时,HWI/FOSUB 怎么会知道我是同一个人?
2.如果有一种全局方式可以知道我是同一个人,我应该使用$response对象中的哪些数据作为键来识别已注册的用户?