PHPで安全なAuthSubセッショントークンを取得するにはどうすればよいですか?

authsub gdata-api php zend-framework
PHPで安全なAuthSubセッショントークンを取得するにはどうすればよいですか?

Google / YouTube APIを使用して、ユーザーのYouTubeアカウントにアクセスする必要があるWebアプリケーションを開発しています。

通常のセキュリティ保護されていない要求は正常に機能し、ワンタイムトークンを簡単にセッショントークンにアップグレードできます。 安全なトークンをセッショントークンにアップグレードしようとすると問題が発生します。

エラー-CIzF3546351vmq_P____834654Gのトークンのアップグレードに失敗しました:トークンのアップグレードに失敗しました。 理由:AuthSub署名が無効です。

私はこれを使う:

    function updateAuthSubToken($singleUseToken)
    {
        try {
        $client = new Zend_Gdata_HttpClient();
        $client->setAuthSubPrivateKeyFile('/home/myrsakey.pem', null, true);
        $sessionToken = Zend_Gdata_AuthSub::getAuthSubSessionToken($singleUseToken, $client);
        $sessionToken = Zend_Gdata_AuthSub::getAuthSubSessionToken(trim($singleUseToken), $client);
        //$client->setAuthSubToken($sessionToken);
        } catch (Zend_Gdata_App_Exception $e) {
            print 'ERROR - Token upgrade for ' . $singleUseToken
                . ' failed : ' . $e->getMessage();
            return;
        }
        $_SESSION['sessionToken'] = $sessionToken;
        $date = gmdate("M d Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
        header('Authorization: AuthSub token="'.$_SESSION['sessionToken'].'" data="GET
    https://www.youtube.com/auth_sub_request '.$date.' 15948652339726849410" '.
    'sig="MIICXAIBAAKBgQDLJn/sr7TrmQpsEaL312k9dEpikVGFHbE+FjNg7/lfagkTZXf3'.
    't96omgSEyZat2RcckVAGs9dU5kbGLJxEaW2ChQplzCKDi+20HZZo7C1QCluaMJ6b'.
    ...
    '0pj+zWPy4T04PH3elN6EkhQ5Vxy5wbBkugqIDqfOKuM=" '.
    'sigalg="rsa-sha1"');
        }

ナンス:ランダムな64ビット、10進数のASCII文字列としてエンコードされた符号なし数値が何であるかがわかりません! 入れなければならないのは$ dateの後です(…​ 「。$ date。」 `15948652339726849410`” ‘…​ )

  1  0


ベストアンサー

あなたが望む電話は次のとおりだと思います:

`$ sessionToken = Zend_Gdata_AuthSub

getAuthSubSessionToken($ singleUseToken、$ client);`

`Zend_Gdata_AuthSub

AuthSubRevokeToken()`を呼び出すと、使い捨てトークンが取り消されます。 完全な安全なAuthSubフローを示す素晴らしいヒントhttp://gdatatips.blogspot.com/2008/09/secure-authsub-using-zend-php-library.html [こちら]があります。

0


ここで詳しく説明するクライアントライブラリなしでこれを行う方法があります:http://codershelpingcoders.com/

必要に応じて見てください。

0


タイトルとURLをコピーしました