Authentication 什么';LinkedIn的Oauth流程有什么问题;电子邮件?
我正在使用laravel中的oneAuth捆绑包,我相信是基于Phil Sturgeon的《燃料》中的NinjAuth,并试图获取用户的电子邮件地址 我已将适当的范围添加到我的请求中,LinkedIn身份验证屏幕成功地请求用户对基本配置文件和电子邮件地址的权限。。到目前为止,一切顺利 一个可能的问题是:电子邮件字段的正确名称是什么? 我找到了对Authentication 什么';LinkedIn的Oauth流程有什么问题;电子邮件?,authentication,oauth,linkedin,laravel,Authentication,Oauth,Linkedin,Laravel,我正在使用laravel中的oneAuth捆绑包,我相信是基于Phil Sturgeon的《燃料》中的NinjAuth,并试图获取用户的电子邮件地址 我已将适当的范围添加到我的请求中,LinkedIn身份验证屏幕成功地请求用户对基本配置文件和电子邮件地址的权限。。到目前为止,一切顺利 一个可能的问题是:电子邮件字段的正确名称是什么? 我找到了对电子邮件地址,电子邮件地址,“电子邮件地址”的引用 是的,但它对我不起作用:) 我正在使用URL: 这是/bundles/oneauth/librarie
电子邮件地址
,电子邮件地址
,“电子邮件地址”的引用
是的,但它对我不起作用:)
我正在使用URL:
这是/bundles/oneauth/libraries/oauth/provider/linkedin.php中有问题的代码段
// Create a response from the request
return array(
'uid' => array_get($user, 'id'),
// 'email' => array_get($user, 'email-address)',
// 'email' => array_get($user, 'emailAddress)',
'name' => array_get($user, 'firstName').' '.array_get($user, 'lastName'),
'image' => array_get($user, 'pictureUrl'),
'nickname' => $nickname,
'description' => array_get($user, 'headline'),
'location' => array_get($user, 'location.name'),
'urls' => array(
'linkedin' => $linked_url,
),
);
如果我取消对电子邮件字段的注释,请求会以某种方式失败(URL仍然显示mysite.com/connect/callback,但favicon显示linkedin,我在chrome中获得一个银行页面:“错误324(net::ERR\u EMPTY\u RESPONSE):服务器关闭了连接,但没有发送任何数据。
”)
如果上面代码中的电子邮件行被注释掉,我将成功接收所有其他详细信息,并将新记录添加到“我的用户”表和“oneauth_客户端”表中,但电子邮件自然为空
我一定错过了一些简单的东西
更新 请求URL与电子邮件地址一起工作,但返回一个包含电子邮件地址的json对象 如果上面的返回数组代码包括
emailAddress
,则脚本仍然会终止
这是: “我分别对库和demo.php进行了以下两项更改:
const\u URL\u请求https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile+r_电子邮件地址“;
$response=$OBJ_linkedin->profile(“~:(id、名字、姓氏、图片url、电子邮件地址);
问题是请求令牌调用是:
https://api.linkedin.com/v1/people/~:(id、名字、姓氏、标题、成员url资源、图片url、位置、公共配置文件url、电子邮件地址)?format=json
但json的响应是:
array(8) {
["emailAddress"]=>
string(18) "email@email.com"
["firstName"]=>
string(3) "Tim"
...
请注意,在第一种情况下,电子邮件名为电子邮件地址,在第二种情况下,电子邮件名为电子邮件地址
第二个问题是我的代码的一个缺点-现在工作得很好