我目前正在使用带有 laravel 包装器的 fitbit 库(请参阅https://github.com/popthestack/fitbitphp)。
一旦用户进行身份验证,我就会尝试存储访问令牌,然后重用该令牌,而不必每次都单独请求新令牌。是否可以使用 fitbits oauth 1 实现来重用访问令牌,或者我每次都需要使用请求令牌等发出新请求。我提前道歉,我首先对 oauth 有相当深刻的理解,但尤其是 fitbit 一直在绊倒我。谢谢。
这是我从 fitbit 请求信息的功能...
public function getFitbit() {
// get data from input
$code = Input::get( 'oauth_token' );
// get fb service
$fb = fitbitOauth::consumer( 'Fitbit' );
// if code is provided get user data and sign in
if ( !empty( $code ) ) {
// This was a callback request from fitbit, get the token
$fb->requestAccessToken(
$_GET['oauth_token'],
$_GET['oauth_verifier']
);
// Send a request now that we have access token
$result = json_decode($fb->request('user/-/profile.json'));
print_r($result);
}
// if not ask for permission first
else {
// get fb authorization
$token = $fb->requestRequestToken();
$url = $fb->getAuthorizationUri(array('oauth_token' => $token->getRequestToken()));
// return to facebook login url
return Redirect::to( (string)$url );
}
}
我可以运行上面的例子。将用户引导到他们可以验证其帐户的页面。然后,这将重定向到显示其信息的页面。如果我重新加载设置了“令牌”和“验证程序”的页面,它就会失败。我希望能够将他们的令牌保存到数据库中并在将来引用它。