現在、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 );
}
}
上記の例を実行できます。アカウントを認証できるページにユーザーを誘導します。これにより、情報を表示するページにリダイレクトされます。「トークン」と「ベリファイア」が設定された状態でページをリロードすると、失敗します。トークンをDBに保存して、将来参照できるようにしたいと考えています。