为Fitbit刷新访问令牌

时间:2016-06-06 07:27:57

标签: ios objective-c oauth-2.0 fitbit

我正在将fitbit集成到我的应用程序中,并且我不希望用户每次都重定向到SafariViewController以获取访问令牌,因为我正在存储访问令牌,但24小时后访问令牌即将到期

在fitbit Fitbit OAuth 2.0的API中,有一个参数ordered :: (a -> a -> Bool) -> [a] -> Bool ordered f = ordered' where ordered' (x:xs@(x2:_)) = f x x2 && ordered' xs ordered' [_] = True ordered' [] = True ,用于定义访问令牌的到期时间。在该参数中,我传递expires_in 1年,但之后,Access Token也将在24小时内到期,之后我必须将用户重定向到SafariViewController。

那么,是否有任何解决方法,以便我不必将用户重定向到SafariViewController,我将在后台刷新令牌的任何方法,类似于此。

任何帮助都将不胜感激。

干杯!!!!!

1 个答案:

答案 0 :(得分:5)

您无需为access_token设置任何expires_in值。 access_token的到期在fitbit服务器中检查,而不是在您的服务器中。因此,通过设置expires_in将无法正常工作。相反,在Fitbit授权后,您将获得refresh_token以及您的acess_token。通过调用

 $result=$fitbit_object->getRefreshtoken(YOUR_REFRSH_TOKEN);

结果将在您的db中包含新的access_token和refresh_token.Store/update。因此,当您想要使用aceess_token时,可以使用新的refresh_token来刷新access_token。它对我来说很有用。