Col*_*nor 17 facebook oauth access-token
我有一个存储用户访问令牌的数据库(以及一些其他数据).我授权用户时,我的权限列表包括offline_access.
那么用户的访问令牌(客户端)是否始终与数据库中该用户的访问令牌相同?或者用户的访问令牌在注销,更改密码等时是否会发生变化?
bka*_*aid 22
不,即使使用offline_access,访问令牌也不会始终相同.当1)用户更改密码或2)停用您的应用程序时,您将需要获取新的访问令牌.否则,它应该保持不变.
用户Facebook id永远不会改变.这可以从访问令牌解析,也可以通过调用/ me graph api获得.
Facebook有一篇博文,详细介绍了这一点.
更新:Facebook添加了专门用于处理撤销授权的博客文章.
只是想指出已删除offline_access权限.
https://developers.facebook.com/roadmap/offline-access-removal/
"我们正在删除使用offline_access权限,通过开发人员应用程序中的迁移设置,我们现在允许选项使用具有长期过期时间的access_tokens,每次用户撤销您的应用程序时都可以续订(请参阅以下例外)."
通过更多搜索,您将找到如何扩展访问令牌.
自offline_access弃用以来如何扩展访问令牌的有效性
以下是/sf/answers/925709151/的工作示例:
$facebook->setExtendedAccessToken();
$access_token = $_SESSION["fb_".$fb_appId."_access_token"];
// now set it into the facebook object ....
$facebook->setAccessToken($access_token);
// now our fb object will use the new token as usual ...
$accessToken = $facebook->getAccessToken();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25365 次 |
最近记录: |