为什么我的应用程序获得不同的Facebook访问令牌到期时间?

为什么我的应用程序获得不同的Facebook访问令牌到期时间?,facebook,oauth,access-token,Facebook,Oauth,Access Token,我有一个web应用程序,它需要用户的Facebook权限,并在后台执行一些操作。对于大多数用户来说,此应用程序可以通过oAuth进程获得到期时间为2个月的访问令牌。但今天我发现它只从一些人那里得到一天的过期时间访问令牌 因为这个应用程序还在开发中,测试人员都是我的同事。所以,我检查了他们的Facebook权限设置,但我没有发现会影响我从oAuth获得的过期时间的特定内容。那么,有没有可能的原因让一些人可以得到更长的到期时间,而另一些人只能得到更短的到期时间 您使用的是哪种类型的身份验证流?服务器

我有一个web应用程序,它需要用户的Facebook权限,并在后台执行一些操作。对于大多数用户来说,此应用程序可以通过oAuth进程获得到期时间为2个月的访问令牌。但今天我发现它只从一些人那里得到一天的过期时间访问令牌


因为这个应用程序还在开发中,测试人员都是我的同事。所以,我检查了他们的Facebook权限设置,但我没有发现会影响我从oAuth获得的过期时间的特定内容。那么,有没有可能的原因让一些人可以得到更长的到期时间,而另一些人只能得到更短的到期时间

您使用的是哪种类型的身份验证流?服务器端?客户端,您是否尝试延长过期时间?而且,所有场景下的所有用户是否都通过完全相同的身份验证流?这是服务器端身份验证,任何场景下的所有用户都通过完全相同的身份验证流。如果您通过交换代码获得令牌,则它应返回令牌60天,如果您使用的是已签名请求中的令牌,则可能有一天会有几个小时。你确定你通过为所有用户交换代码来获得访问令牌吗?我从用户的facebook上删除了该应用程序,并强迫他再次运行整个身份验证过程来交换代码。然后一切都很好,就像你说的,我可以得到60天的到期时间。这个问题在那个用户帐户上不再重现。但我还是不知道为什么我以前会遇到这个问题。