私は Oauth の実装に不慣れで、使用できるライブラリを Web で検索しており、Manuel Lemos の Oauth Clientを見つけました。
とにかく、私が今抱えている問題は、セッションが期限切れになるたびに再認証することです。
facebook、twitter、yahoo、google を使用してプロジェクトに Oauth を実装したいと考えています。
私はそれを機能させることができましたが、アクセストークンが取得され、アプリがユーザーによって承認された後、ある時点で失われたと思います。
yahoo、twitter、google (Facebook を除く) でこの問題が発生し、アクセス トークン (またはセッション) の有効期限が切れて、これらの「サーバー」を再度使用すると、常に認証ページにリダイレクトされ、ユーザーにアプリの認証を求める (また)。
yahoo、twitter、および google が 1 回だけ承認し (権限が取り消された場合を除く)、ユーザーが戻って再度使用すると、再度承認を求めることなく自動的にユーザー データを取得するようにするにはどうすればよいですか?
リクエストを実行するコードの一部を次に示します。
if( ( $success = $client->Initialize() ) )
{
if( ( $success = $client->Process() ) )
{
if( strlen( $client->access_token ) )
{
$success = $client->CallAPI(
$apiurl
, 'GET'
, $apiqry
, array( 'FailOnAccessError'=>true )
, $user);
}
elseif(strlen($client->authorization_error))
{
$client->error = $client->authorization_error;
$success = false;
}
}
$success = $client->Finalize($success);
}
私は次の解決策を試しましたが、うまくいきません:(
Twitter OAuth - アプリケーションへのアクセスが許可されているかどうかの確認
Twitter - OAuth データベースは既にありますが、ユーザーが誰であるかを知るにはどうすればよいですか?
他にもたくさんありましたが、どれもうまくいきませんでした..
ありがとうございました!