このページでは

QOAuth1Signature Class

OAuth 1 の署名メソッドを実装しています。詳細...

ヘッダー: #include <QOAuth1Signature>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth

パブリック型

enum class HttpRequestMethod { Head, Get, Put, Post, Delete, …, Unknown }

パブリック関数

QOAuth1Signature(const QUrl &url = QUrl(), QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> &parameters = {})
QOAuth1Signature(const QUrl &url, const QString &clientSharedKey, const QString &tokenSecret, QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> &parameters = {})
QOAuth1Signature(const QOAuth1Signature &other)
QOAuth1Signature(QOAuth1Signature &&other)
~QOAuth1Signature()
void addRequestBody(const QUrlQuery &body)
QString clientSharedKey() const
QByteArray customMethodString() const
QByteArray hmacSha1() const
QOAuth1Signature::HttpRequestMethod httpRequestMethod() const
void insert(const QString &key, const QVariant &value)
QList<QString> keys() const
QMultiMap<QString, QVariant> parameters() const
QByteArray plainText() const
QByteArray rsaSha1() const
void setClientSharedKey(const QString &secret)
void setCustomMethodString(const QByteArray &verb)
void setHttpRequestMethod(QOAuth1Signature::HttpRequestMethod method)
void setParameters(const QMultiMap<QString, QVariant> &parameters)
void setTokenSecret(const QString &secret)
void setUrl(const QUrl &url)
void swap(QOAuth1Signature &other)
QVariant take(const QString &key)
QString tokenSecret() const
QUrl url() const
QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const
QOAuth1Signature &operator=(QOAuth1Signature &&other)

静的パブリックメンバー

QByteArray plainText(const QString &clientSharedKey, const QString &tokenSecret)

詳細な説明

OAuth 認証されたリクエストには、2 種類の認証情報(「oauth_consumer_key」パラメータを介して渡されるものと、「oauth_token」パラメータに含まれるもの)が含まれる場合があります。 サーバーがリクエストの真正性を検証し、不正アクセスを防ぐためには、クライアントは自分がその認証情報の正当な所有者であることを証明する必要があります。これは、各認証情報のセットに含まれる共有秘密鍵(または RSA 鍵)を使用して行われます。

OAuth では、クライアントが認証情報の正当な所有者であることを証明するための 3 つの方法、「HMAC-SHA1」、「RSA-SHA1」、および「PLAINTEXT」が規定されています。 それぞれが「署名」を生成し、それを使ってリクエストに「署名」を行います。最初の2つはこれを生成する際に署名対象データのダイジェストを使用しますが、最後の方法は使用しません。「RSA-SHA1」方式はここではサポートされていません。この方式では、クライアントの認証情報に関連付けられた共有秘密鍵ではなく、RSA鍵が使用されるためです。

メンバータイプのドキュメント

enum class QOAuth1Signature::HttpRequestMethod

HTTPリクエストのメソッドを示します。

定数値説明
QOAuth1Signature::HttpRequestMethod::Head1HEAD メソッド。
QOAuth1Signature::HttpRequestMethod::Get2GET メソッド。
QOAuth1Signature::HttpRequestMethod::Put3PUT メソッド。
QOAuth1Signature::HttpRequestMethod::Post4POST メソッド。
QOAuth1Signature::HttpRequestMethod::Delete5DELETE メソッド。
QOAuth1Signature::HttpRequestMethod::Custom6カスタムメソッドを識別します。
QOAuth1Signature::HttpRequestMethod::Unknown0メソッドが設定されていません。

メンバ関数のドキュメント

[explicit] QOAuth1Signature::QOAuth1Signature(const QUrl &url = QUrl(), QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> &parameters = {})

指定された

  • url をターゲットアドレスとして
  • method をリクエスト送信に使用するHTTPメソッドとして
  • および指定されたユーザー `parameters ` を使用してリクエストを補完し、QOAuth1Signatureを作成します。

QOAuth1Signature::QOAuth1Signature(const QUrl &url, const QString &clientSharedKey, const QString &tokenSecret, QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> &parameters = {})

指定されたターゲットアドレスを使用して、QOAuth1Signature を作成します

  • url をターゲットアドレスとして
  • clientSharedKey 署名の検証に使用するユーザートークンとして
  • tokenSecret 署名の検証に使用するネゴシエート済みトークンとして
  • method リクエストの送信に使用するHTTPメソッドとして
  • および指定されたユーザーparameters を使用してリクエストを補足します。

QOAuth1Signature::QOAuth1Signature(const QOAuth1Signature &other)

other のコピーを作成します。

QOAuth1Signature::QOAuth1Signature(QOAuth1Signature &&other)

other が使用していたプライベートデータを継承して、QOAuth1Signatureインスタンスをムーブコンストラクトで生成します。

[noexcept] QOAuth1Signature::~QOAuth1Signature()

QOAuth1Signature を削除します。

void QOAuth1Signature::addRequestBody(const QUrlQuery &body)

リクエスト `body ` を署名に追加します。POSTリクエストの本文に引数が含まれている場合、それらを署名付きデータに含める必要があります。

QString QOAuth1Signature::clientSharedKey() const

署名の生成に使用されたユーザーシークレットを返します。

setClientSharedKey()も参照してください 。

QByteArray QOAuth1Signature::customMethodString() const

カスタムメソッドの文字列を返します。

setCustomMethodString() およびhttpRequestMethod()も参照してください 。

QByteArray QOAuth1Signature::hmacSha1() const

クライアントの共有秘密鍵、および利用可能な場合はトークンの秘密鍵を使用して、HMAC-SHA1署名を生成します。

QOAuth1Signature::HttpRequestMethod QOAuth1Signature::httpRequestMethod() const

リクエストのメソッドを返します。

setHttpRequestMethod()も参照してください 。

void QOAuth1Signature::insert(const QString &key, const QVariant &value)

署名に新しいペア `key`、`value ` を挿入します。POSTリクエストの本文に引数が含まれている場合は、それらを署名対象のデータに含める必要があります。

QList<QString> QOAuth1Signature::keys() const

署名付きデータに含まれるパラメータのキーの一覧を取得します。

QMultiMap<QString, QVariant> QOAuth1Signature::parameters() const

パラメータを返します。

setParameters()も参照してください 。

QByteArray QOAuth1Signature::plainText() const

PLAINTEXT署名を生成します。

[static] QByteArray QOAuth1Signature::plainText(const QString &clientSharedKey, const QString &tokenSecret)

クライアントシークレットclientSharedKey とトークンシークレットtokenSecret から、プレーンテキストの署名を生成します。

QByteArray QOAuth1Signature::rsaSha1() const

RSA-SHA1署名を生成します。

注:現在 、このメソッドはサポートされていません。

void QOAuth1Signature::setClientSharedKey(const QString &secret)

署名の生成に使用するユーザーシークレットとして、secret を設定します。

clientSharedKey()も参照してください 。

void QOAuth1Signature::setCustomMethodString(const QByteArray &verb)

カスタムリクエストメソッドを設定します。httpRequestMethod をQOAuth1Signature::HttpRequestMethod::Custom に設定し、署名の生成に使用するverb を保存します。

注: カスタム動詞を使用する場合は、このメソッドの使用が 必須です。リクエストメソッドのみを設定しても、署名生成には実際の動詞の情報が必要であるため、失敗します。

関連項目: customMethodString()、setHttpRequestMethod()、およびHttpRequestMethod 。

void QOAuth1Signature::setHttpRequestMethod(QOAuth1Signature::HttpRequestMethod method)

リクエストのmethod を設定します。

httpRequestMethod()も参照してください 。

void QOAuth1Signature::setParameters(const QMultiMap<QString, QVariant> &parameters)

parameters を設定します。

parameters()も参照してください 。

void QOAuth1Signature::setTokenSecret(const QString &secret)

secret を、署名の生成に使用されるネゴシエーション済みシークレットとして設定します。

tokenSecret()も参照してください 。

void QOAuth1Signature::setUrl(const QUrl &url)

URLをurl に設定します。

url()も参照してください 。

void QOAuth1Signature::swap(QOAuth1Signature &other)

other の署名を、この署名に置き換えます。この操作は非常に高速で、失敗することはありません。

QVariant QOAuth1Signature::take(const QString &key)

署名付きデータからkey およびそれに関連するすべての値を削除します。

QString QOAuth1Signature::tokenSecret() const

署名の生成に使用されたネゴシエーション済みのシークレットを返します。

setTokenSecret()も参照してください 。

QUrl QOAuth1Signature::url() const

URLを返します。

setUrl()も参照してください 。

QVariant QOAuth1Signature::value(const QString &key, const QVariant &defaultValue = QVariant()) const

署名付きデータにkey が指定されている場合は、それに関連する値を返し、そうでない場合はdefaultValue を返します。

QOAuth1Signature &QOAuth1Signature::operator=(QOAuth1Signature &&other)

other をこのシグネチャにムーブ代入し、このQOAuth1Signature への参照を返します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.