是否需要手动使 Facebook Access Token 失效?

Is it necessary to manually invalidate Facebook Access Token?

我正在使用 react-native 和 expo 构建我的第一个应用程序。

当我使用 Facebook 身份验证和我的个人帐户登录到我的应用程序时,我收到了一个访问令牌;然后我使用 expo 提供的 SecureStore 将它本地保存在设备中。 如果我尝试注销,然后再次登录,我会收到一个与第一个不同的新访问令牌。 但是如果我尝试发出获取请求,例如只是为了获取我的 facebook 帐户的名称,使用旧的访问令牌......我可以做到!

我错误地认为,每次同一用户尝试使用 facebook 身份验证访问应用程序时,facebook 都会提供与上一次会话中相同的访问令牌(如果它尚未过期或失效)。

所以...我必须做什么?只是在本地用新令牌覆盖旧令牌?或者我应该使旧令牌无效,因为它仍然有效(如果是这样,我该怎么做)?

访问令牌并非永远有效:基本用户令牌和页面令牌的有效期为 2 小时,因此您不必自行使它们失效。扩展令牌的有效期为 60 天,但我假设您不使用它们。只需用新的覆盖Token,您无需担心旧的Token。

来源:https://developers.facebook.com/docs/facebook-login/access-tokens/#termtokens