Facebook开放平台学习 - 对token失效或者某个接口权限么有授权的处理
2012-09-27 15:30
375 查看
今天总结下Facebook授权应用后,如果token失效后或者调用某个接口的时候,这个权限,用户没有授权该怎么办?
如果你的应用程序和Facebook紧密相连,要依靠很多它的扩展接口(不明白扩展接口的请看另一篇:Facebook的接口说明),那么在用户授权的时候,就会出现在第二页,比如下图:
这些权限,用户是可以不授权的,可以叉掉的,但是不能叉掉所有权限,因为如果用户叉掉了所有扩展权限,授权过程就不能走下去,会跳回到你原来的调用起来的界面。
Facebook的token现在有效期是60天,会转换成Unix时间戳来显示,具体计算结果,我可以说说,因为当时这个地方困扰了我很久。token失效的原因有三种,我现在就知道3种:用户授权给你的应用后,改了密码;还有就是授权时间超过了60天;还有用户在account setting界面的app中删除了授权的应用。因此,我们一定在自己的应用中加上处理token失效的代码,至于如何处理,我的建议是引导用户重新走一遍授权的流程就OK,重新保留一下新的token。当然,这是最傻的办法,我们应该想办法让这个token不过期,怎么才能实现这个功能呢?
在Android的SDK中,有这样的方法,就是每当用户进入APP的时候就刷新一次token,前提是距离用户上次刷新token的时间超过24小时,这个计算方式在SDK中有源码,可以具体看看。但是如果用户比较频繁的用你的APP的话,比较浪费流量,这是个大问题,尤其在国内。然后我想了想,把这个时间改改,就是可以改成超过10*24的时候才刷新token,这样就可以接受了。还有一种办法,就是保存下来下发的过期时间这个值:expires,当用户每次进入你的APP的时候,计算这个过期时间离过期还有几天,如果过期时间在10天以内,就主动给用户刷一次token,这样就能保证用户的token永远都不会过期,前提是用户不再account
setting中删除你的应用。
其实解决办法有很多,关键看你们的产品需求,和服务端、产品人员一起协商一个好办法,没有最好,只有更好。
如果你的应用程序和Facebook紧密相连,要依靠很多它的扩展接口(不明白扩展接口的请看另一篇:Facebook的接口说明),那么在用户授权的时候,就会出现在第二页,比如下图:
这些权限,用户是可以不授权的,可以叉掉的,但是不能叉掉所有权限,因为如果用户叉掉了所有扩展权限,授权过程就不能走下去,会跳回到你原来的调用起来的界面。
Facebook的token现在有效期是60天,会转换成Unix时间戳来显示,具体计算结果,我可以说说,因为当时这个地方困扰了我很久。token失效的原因有三种,我现在就知道3种:用户授权给你的应用后,改了密码;还有就是授权时间超过了60天;还有用户在account setting界面的app中删除了授权的应用。因此,我们一定在自己的应用中加上处理token失效的代码,至于如何处理,我的建议是引导用户重新走一遍授权的流程就OK,重新保留一下新的token。当然,这是最傻的办法,我们应该想办法让这个token不过期,怎么才能实现这个功能呢?
在Android的SDK中,有这样的方法,就是每当用户进入APP的时候就刷新一次token,前提是距离用户上次刷新token的时间超过24小时,这个计算方式在SDK中有源码,可以具体看看。但是如果用户比较频繁的用你的APP的话,比较浪费流量,这是个大问题,尤其在国内。然后我想了想,把这个时间改改,就是可以改成超过10*24的时候才刷新token,这样就可以接受了。还有一种办法,就是保存下来下发的过期时间这个值:expires,当用户每次进入你的APP的时候,计算这个过期时间离过期还有几天,如果过期时间在10天以内,就主动给用户刷一次token,这样就能保证用户的token永远都不会过期,前提是用户不再account
setting中删除你的应用。
其实解决办法有很多,关键看你们的产品需求,和服务端、产品人员一起协商一个好办法,没有最好,只有更好。
相关文章推荐
- 对于FacebookF8开发者大会开源深度学习框架Caffe2以及百度开放自动驾驶平台API的看法
- OAuth2.0学习(1-9)新浪开放平台微博认证-web应用授权(授权码方式)
- 微信第三方平台处理授权公众号的网页授权接口
- PHP学习之[第11讲]新浪微博开放平台 PHP 与 OAuth 接口(1)
- 新浪开放平台:解决获取access_token抛 21323 异常,以及接口调用
- 微信开放平台授权过程
- App开放接口api安全性—Token签名sign的设计与实现
- App开放接口api安全性—Token签名sign的设计与实现
- EJB3.0学习笔记---多接口的时,实现类处理方法:
- 基于oAuth2.0实现开放平台授权中心
- 公众平台认证订阅号接口调整 增加群发接口等,可授权登录
- App开放接口api安全性—Token签名sign的设计与实现
- 贴图库开放平台接口使用
- 一个类,简易看懂,yii的授权机制。 快速学习yii的登录,验证,权限控制
- sharepoint 2016 学习系列篇(10)-给子网站单独授权用户访问权限
- 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台
- 网格处理平台学习笔记
- 开放实时数据处理平台 Twitter Storm(转)
- easyopen——一个简单易用的接口开放平台
- App开放接口api安全性—Token签名sign的设计与实现