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> ¶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で認証されたリクエストには、"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::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 = {})
を使用して 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> ¶meters = {})
を使用して 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)
カスタム・リクエスト・メソッドを設定します。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 への参照を返します。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。