Str*_*Hat 1 facebook symfony fosuserbundle hwioauthbundle
根据文档,我能够为FOSUserBundle实体用户配置和存储Facebook ID
我也想存储生日和性别.
hwi_oauth:
firewall_name: secured_area
resource_owners:
facebook:
type: facebook
client_id: <client_id>
client_secret: <client_secret>
scope: "email,user_birthday"
Run Code Online (Sandbox Code Playgroud)
在文档中有一些描述在这里,但我无法让它工作.因为我是初学者,这篇文档对我没有帮助.
我在哪里可以获得包含所有本地数据的facebook响应.
我还需要将这些数据与其他FOSUserBundle字段一起存储.
你的配置看起来像这样:
facebook:
type: facebook
client_id: %client_id%
client_secret: %client_secret%
scope: "email, basic_info, user_birthday"
infos_url: "https://graph.facebook.com/me?fields=id,email,first_name,last_name,gender,birthday"
Run Code Online (Sandbox Code Playgroud)
然后在您的AccountConnector服务/或您处理响应的方式上,您可以执行以下操作:
$data = $response->getResponse();
//check if all fields are set
...
$user->setLastname($data['last_name']);
$user->setBirthdate(new \DateTime($data['birthday']));
$user->setGender($this->setGender($data['gender']));
$user->setEmail($data['email']);
Run Code Online (Sandbox Code Playgroud)
由于Facebook发送性别的名义价值,我已经创建了该setGender功能.
private function setGender($gender) {
return ($gender === 'male') ? '1' : '0' ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2376 次 |
| 最近记录: |