ale*_*xey 16 facebook oauth facebook-graph-api oauth-2.0
Facebook平台支持两种不同的OAuth 2.0流程供用户登录:服务器端(在规范中称为身份验证代码流)和客户端(称为隐式流).只要您需要从Web服务器调用Graph API,就会使用服务器端流程.当您需要从客户端调用Graph API时,使用客户端流,例如在Web浏览器中运行的JavaScript或从本机移动或桌面应用程序.
这些流程访问令牌之间有什么区别?似乎它们的长度不同.
我们可以在客户端上使用服务器端流程令牌吗?否则,我们可以在服务器上使用客户端流令牌吗?
nav*_*een 33
目前,Facebook称这是关于access_tokens的.在服务器端OAuth上
如果access_token是从服务器端OAuth调用生成的,则生成的access_token默认具有更长的到期时间.如果在该用户仍然存在有效的长期用户access_token的情况下进行呼叫,则来自该第二次呼叫的返回用户access_token可能相同或者可能已经改变,但在任何一种情况下,到期时间将被设置为长到期时间.
客户端OAuth流将为您提供现有的,未过期的,短期用户access_token.为了使这个access_token长寿,facebook提供了一个新的端点,用较长的生命周期来访问短暂的access_token和access_token.端点是
https://graph.facebook.com/oauth/access_token?
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)
另请注意
目前,长期用户access_token有效期为60天,而短期用户access_tokens当前有效期为1至2小时.
摘录自https://developers.facebook.com/docs/roadmap/completed-changes/offline-access-removal/
对于那些喜欢我的人在2014年面临同样的问题,Facebook改进了访问令牌的文档.
令牌是便携式的
了解访问令牌的一个重要方面是它们是可移植的.获得访问令牌后,您可以使用它来从移动客户端,Web浏览器或从服务器到Facebook的服务器进行呼叫.如果在客户端上获得令牌,您可以将该令牌发送回服务器并在服务器到服务器调用中使用它.如果通过服务器调用获得令牌,您还可以将该令牌发送到客户端,然后从客户端进行调用.
(来自https://developers.facebook.com/docs/facebook-login/access-tokens/#portabletokens)
所以是的,您可以在服务器上使用来自客户端的访问令牌,反之亦然; 正如naveen已经说过的那样,区别在于客户获得的tokes是短暂的,而服务器则是长寿的.您还可以按照以下说明将短期令牌转换为长期令牌:https://developers.facebook.com/docs/facebook-login/access-tokens/#extending
| 归档时间: |
|
| 查看次数: |
17302 次 |
| 最近记录: |