QOAuth1Signature Class

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

Header: #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で認証されたリクエストには、"oauth_consumer_key" パラメータで渡されるものと、"oauth_token" パラメータで渡されるものの2つの認証情報があります。サーバーがリクエストの信憑性を検証し、不正アクセスを防ぐために、クライアン トはそれが信用証明書の正当な所有者であることを証明する必要がある。これは、クレデンシャルの各セットの共有秘密(または 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 = {})

を使用して QOAuth1Signature を作成する。

  • 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)

Move-QOAuth1Signatureインスタンスを構築し、other が使用していたプライベートデータを引き継ぐ。

[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 から PLAINTEXT 署名を生成する。

QByteArray QOAuth1Signature::rsaSha1() const

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

注: 現在この方法はサポートされていない。

void QOAuth1Signature::setClientSharedKey(const QString &secret)

署名の生成に使用するユーザー秘密としてsecret を設定する。

clientSharedKey()も参照

void QOAuth1Signature::setCustomMethodString(const QByteArray &verb)

カスタム・リクエスト・メソッドを設定します。httpRequestMethodQOAuth1Signature::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 への参照を返します。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。