0

独自の「Oauth サービス プロバイダー「システム」」を作成していますが、疑問があります。

oauth_signature/を検証するにはどうすればよいconsumer_secretですか .. 基本的にわかりません。

それについての私の質問は次のとおりです。

  1. oauth_signatureパラメーターがサービス プロバイダーに送信されるとき、既に署名メソッドでハッシュ化されているか、それとも「プレーンテキスト」で送信されていますか。
  2. それを受け取ったら、 signature_method でハッシュして (または Q1 に基づいて)、データベース内のものと一致するかどうかを確認する必要がありますか?
  3. hash_hmacを使用する場合、パラメータは何にする必要がありますか? つまり、データとは何か、関数の秘密とは何か

複雑であるか、私が非常に初心者である場合は申し訳ありません-答えを探していましたが、明確な答えが見つかりません.

注: PHP の Oauth ライブラリ/クラスは使用していません

4

1 に答える 1

1
  1. の場合、 の値oauth_signature_methodは単純な署名のベース文字列です。またはその他の暗号化ハッシュ アルゴリズムである場合、クライアントはこのアルゴリズムを使用して、秘密を使用して署名ベース文字列をハッシュし、このハッシュをパラメーターとして送信します。PLAINTEXToauth_signatureHMAC_SHA1oauth_signature

  2. クライアントはすでにベース文字列をハッシュしているので、送信された値をサーバー側で計算した値と比較するだけです。

  3. dataは構築された署名のベース文字列ですsecret。クライアントとトークンのシークレットは次の形式です:

    {CONSUMER_SECRET}&{OAUTH_TOKEN_SECRET}
    
于 2012-09-08T18:54:56.620 に答える