如何从Auth0-Lock SSO身份验证获取Facebook用户ID

时间:2018-10-09 04:27:07

标签: auth0 auth0-lock

我正在使用Auth0-Lock对用户进行身份验证。但是似乎来自Auth0的响应数据不包括Facebook user_id。我想要获取user_id,因为我需要它来在我的应用中显示用户的个人资料网址,例如:www.facebook.com/{user_id}

{
"sub": "facebook|1613270415401150",
"given_name": "Steve",
"family_name": "Giáp",
"nickname": "hgbk.it",
"name": "Steve Giáp",
"picture": "https://graph.facebook.com/v2.5/1613270415401150/picture?width=720",
"gender": "male",
"locale": "en-GB",
"updated_at": "2018-10-09T04:25:12.921Z"
}

subpicture中的ID与user_id无关。

1 个答案:

答案 0 :(得分:1)

Auth0使用的user_id是身份提供商提供的ID,对于Facebook,它们现在是应用程序作用域的。因此,user_id不是用户的用户ID,而是该特定应用程序的用户标识符。按照Facebook docs The id of this person's user account. This ID is unique to each app and cannot be used across different apps.,这是Auth0用作id的{​​{1}},紧跟管道,例如user_id。我相信您曾经能够使用该facebook|<id from Facebook>来查看某人的公开个人资料,但此后Facebook已弃用了提供id的功能。