【发布时间】:2011-06-08 04:46:56
【问题描述】:
由于用户错误,出现了这样一种情况,即我的数据库为 facebook 用户保存了一个 Oauth 令牌,而该用户没有该人的 facebook id、专有名称或与 facebook 帐户关联的电子邮件。仅使用 Oauth 令牌,是否可以获取用户的 facebook id 或其他信息?
【问题讨论】:
由于用户错误,出现了这样一种情况,即我的数据库为 facebook 用户保存了一个 Oauth 令牌,而该用户没有该人的 facebook id、专有名称或与 facebook 帐户关联的电子邮件。仅使用 Oauth 令牌,是否可以获取用户的 facebook id 或其他信息?
【问题讨论】:
如果令牌仍然有效,请尝试获取 https://graph.facebook.com/me?fields=id&access_token=____
【讨论】:
令牌包含您需要的所有信息 - 正如Ben Biddington(可能还有许多其他地方)所解释的,令牌的一部分(在管道之间(|))是会话密钥,格式如下:
2.{secret}.3600.{expires_at_seconds_after_epoch}-{user_id}
所以如果你的令牌看起来像
1234567890|2.3onmAQCJpDQDrbT6.3600.1307484000.0-987654321|316cKUabM1Z-5X4P8k4sJdnW8ok
会话密钥是
2.3onmAQCJpDQDrbT6.3600.1307484000.0-987654321
然后用户ID将是987654321
【讨论】: