Facebook身份验证注册有关客户端的更多信息


Facebook authentication signup more information about client

如何从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/