是否可以解密Facebook的新OAuth 2.0 access_token?
我需要以某种方式从access_token获取user_id和app_id。
PS:
我只需要从access_token获取user_id和app_id,就像Facebook Linter过去那样。
最佳答案
正如其他人已经指出的那样,access_token
是唯一的随机字符串,因此无法将其解密。另外,我们都知道user_id
和app_id
首先是生成 token 的先决条件。
但是,假设您将 token 存储在数据库中,并且丢失了关联的user_id
和app_id
。在这种情况下,关于如何仅拥有 token 的情况下检索它们是一个有效的问题。如果您的 token 仍然有效,则可以这样做。如果过期了,那您就不走运了。
要检索 user_id
,请致电:
https://graph.facebook.com/me?fields=id&access_token=xxx
要检索
app_id
,请致电:https://graph.facebook.com/app?fields=id&access_token=xxx
在这两种情况下,无论
access_token
是加密的还是未加密的,关联的ID都将是JSON响应的一部分。让我们用一个例子来说明这一点。假设马克·扎克伯格(Mark Zuckerberg)使用Graph API Explorer生成
access_token
。调用/me
端点将为您提供:{
"id": "68310606562"
}
并调用
/app
端点将为您提供:{
"id": "145634995501895"
}
您正在寻找的ID是响应的一部分。
请注意,此不能与https://developers.facebook.com/apps上显示的
access_token
一起使用(不确定这是Facebook的错误还是故意的)。请使用您的应用通过OAuth收到的access_token
。关于facebook - 解密OAuth 2.0访问 token ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7290670/