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> ¶meters = {}) | |
| QOAuth1Signature(const QUrl &url, const QString &clientSharedKey, const QString &tokenSecret, QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> ¶meters = {}) | |
| 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> ¶meters) |
| 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::Head | 1 | HEAD メソッド。 |
QOAuth1Signature::HttpRequestMethod::Get | 2 | GET メソッド。 |
QOAuth1Signature::HttpRequestMethod::Put | 3 | PUT メソッド。 |
QOAuth1Signature::HttpRequestMethod::Post | 4 | POST メソッド。 |
QOAuth1Signature::HttpRequestMethod::Delete | 5 | DELETE メソッド。 |
QOAuth1Signature::HttpRequestMethod::Custom | 6 | カスタムメソッドを識別します。 |
QOAuth1Signature::HttpRequestMethod::Unknown | 0 | メソッドが設定されていません。 |
メンバ関数のドキュメント
[explicit] QOAuth1Signature::QOAuth1Signature(const QUrl &url = QUrl(), QOAuth1Signature::HttpRequestMethod method = HttpRequestMethod::Post, const QMultiMap<QString, QVariant> ¶meters = {})
指定された
- 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> ¶meters = {})
指定されたターゲットアドレスを使用して、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> ¶meters)
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.