如何从Facebook身份验证中获取用户名和姓氏。我确实使用Facebook登录,我想注册。我需要用户的姓名和生日。我读过这个,但找不到具体信息。
我的控制器在这里:
public function oAuthSuccess($client) {
// get user data from client
$userAttributes = $client->getUserAttributes();
$user = User::find()->where(['Email' => $userAttributes['email']])->one();
if (!$user) {
$model = new 'frontend'modules'settings'models'ProfileForm();
$model->Name = $userAttributes['name'];
$model->Email = $userAttributes['email'];
if ($model->saveFacebookClient()) {
Yii::$app->user->login($model);
}
return $this->redirect('index.php?r=content/news');
}
Yii::$app->user->login($user);
}
这是 API 调用:
/me?fields=first_name,last_name,birthday
当然,您需要授权用户具有user_birthday
权限。有关登录过程的一般信息可以在文档中找到:https://developers.facebook.com/docs/facebook-login
我建议使用 JavaScript SDK 进行登录,这里有一个教程:http://www.devils-heaven.com/facebook-javascript-sdk-login/
如果你真的想用PHP登录,这里有更多链接:
- https://developers.facebook.com/docs/php/howto/example_facebook_login
- http://www.devils-heaven.com/facebook-php-sdk-5-tutorial/