QAbstractOAuth Class

QAbstractOAuth クラスは、OAuth 認証メソッドのすべての実装のベースです。詳細...

ヘッダ #include <QAbstractOAuth>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
を継承する: QObject
によって継承される:

QAbstractOAuth2 そしてQOAuth1

パブリックな型

enum class ContentType { WwwFormUrlEncoded, Json }
enum class Error { NoError, NetworkError, ServerError, OAuthTokenNotFoundError, OAuthTokenSecretNotFoundError, OAuthCallbackNotVerified }
enum class Stage { RequestingTemporaryCredentials, RequestingAuthorization, RequestingAccessToken, RefreshingAccessToken }
enum class Status { NotAuthenticated, TemporaryCredentialsReceived, Granted, RefreshingToken }

プロパティ

パブリック機能

virtual ~QAbstractOAuth()
QUrl authorizationUrl() const
QString clientIdentifier() const
QAbstractOAuth::ContentType contentType() const
virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QVariantMap extraTokens() const
virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuth::ModifyParametersFunction modifyParametersFunction() const
QNetworkAccessManager *networkAccessManager() const
virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual void prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0
virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuthReplyHandler *replyHandler() const
void setAuthorizationUrl(const QUrl &url)
void setClientIdentifier(const QString &clientIdentifier)
void setContentType(QAbstractOAuth::ContentType contentType)
void setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)
void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)
void setReplyHandler(QAbstractOAuthReplyHandler *handler)
void setToken(const QString &token)
QAbstractOAuth::Status status() const
QString token() const

パブリックスロット

virtual void grant() = 0

シグナル

void authorizationUrlChanged(const QUrl &url)
void authorizeWithBrowser(const QUrl &url)
void clientIdentifierChanged(const QString &clientIdentifier)
void contentTypeChanged(QAbstractOAuth::ContentType contentType)
void extraTokensChanged(const QVariantMap &tokens)
void granted()
void requestFailed(const QAbstractOAuth::Error error)
void statusChanged(QAbstractOAuth::Status status)
void tokenChanged(const QString &token)

保護された関数

QString callback() const
virtual void resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)
void setStatus(QAbstractOAuth::Status status)

静的プロテクトメンバ

QByteArray generateRandomString(quint8 length)

詳細説明

このクラスは OAuth 認証クラスの基本的なインターフェイスを定義します。このクラスを継承することで、さまざまなウェブサービス用のカスタム認証メソッドを作成することができます。

また、さまざまな認証フローを実装しやすくするための関数もいくつか含まれています。

メンバ型に関するドキュメント

enum class QAbstractOAuth::ContentType

認証された呼び出しにおけるPOSTメソッドのMIME Content-Typeを示す。

定数説明
QAbstractOAuth::ContentType::WwwFormUrlEncoded0application/x-www-form-urlencoded フォーマットを使用します。
QAbstractOAuth::ContentType::Json1application/json フォーマットを使用します。

enum class QAbstractOAuth::Error

最新の受信エラーを示す。

定数説明
QAbstractOAuth::Error::NoError0エラーは発生していない。
QAbstractOAuth::Error::NetworkError1サーバへの接続に失敗しました。
QAbstractOAuth::Error::ServerError2サーバはリクエストにエラーで応答するか、その応答を正常に受信できませんでした (状態の不一致など)。
QAbstractOAuth::Error::OAuthTokenNotFoundError3トークン要求に対するサーバーの応答がトークン識別子を提供しなかった。
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4トークン要求に対するサーバからの応答にトークンシークレットがない。
QAbstractOAuth::Error::OAuthCallbackNotVerified5認可サーバーがリクエストに指定されたコールバックURIを検証していない。これは通常、提供されたコールバックがクライアント登録時に提供されたコールバックと一致しない場合に起こります。

enum class QAbstractOAuth::Stage

認証ステージを識別する。これはmodifyParametersFunction に渡され、 認証の過程でパラメータをコールするたびに異なる変更を行うことができるようにします。

定数説明
QAbstractOAuth::Stage::RequestingTemporaryCredentials0一時的な資格情報リクエストの準備
QAbstractOAuth::Stage::RequestingAuthorization1認証付与 URL の準備
QAbstractOAuth::Stage::RequestingAccessToken2トークン要求の準備
QAbstractOAuth::Stage::RefreshingAccessToken3アクセストークン更新の準備

enum class QAbstractOAuth::Status

現在の認証ステータスを示す。

定数説明
QAbstractOAuth::Status::NotAuthenticated0トークンが取得されていません。
QAbstractOAuth::Status::TemporaryCredentialsReceived1一時的な認証情報を受け取っています。このステータスはいくつかの OAuth 認証メソッドで使用されます。
QAbstractOAuth::Status::Granted2トークンの認証情報を受け取り、認証された呼び出しが許可されています。
QAbstractOAuth::Status::RefreshingToken3新しいトークン認証情報が要求されました。

プロパティの説明

authorizationUrl : QUrl

このプロパティは、「OAuth 1.0 プロトコル:リソース所有者認証」で説明されているように、リソース所有者認証を要求するために使用される URL を保持します:OAuth1.0プロトコルリソース所有者認証

アクセス関数:

QUrl authorizationUrl() const
void setAuthorizationUrl(const QUrl &url)

通知シグナル

void authorizationUrlChanged(const QUrl &url)

contentType : QAbstractOAuth::ContentType

このプロパティは、認可パラメータを送信する際に使用する Content-Type を保持します。

このプロパティは、POST リクエストで送信されるパラメータがどのようにフォーマットされるかを制御します。適切なヘッダも追加されます。

アクセス関数

QAbstractOAuth::ContentType contentType() const
void setContentType(QAbstractOAuth::ContentType contentType)

Notifier シグナル:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : const QVariantMap

このプロパティは、サーバーから受信した余分なトークンを保持します。

アクセス関数

QVariantMap extraTokens() const

通知シグナル

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : const Status

このプロパティは、現在の認証状態を保持する。

アクセス関数:

QAbstractOAuth::Status status() const

Notifier シグナル:

void statusChanged(QAbstractOAuth::Status status)

メンバ関数ドキュメント

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

抽象 OAuth を破棄します。

QUrl QAbstractOAuth::authorizationUrl() const

認可要求 URL を返す。

注: authorizationUrl プロパティのゲッター関数。

setAuthorizationUrl()も参照

[signal] void QAbstractOAuth::authorizeWithBrowser(const QUrl &url)

このシグナルは、resourceOwnerAuthorization ()で生成されたurl をウェブ・ブラウザで使用し、アプリケーションがユーザーになりすます準備ができたときに発行される。

resourceOwnerAuthorization()も参照

[protected] QString QAbstractOAuth::callback() const

現在のリプライハンドラに対応する現在のコールバック文字列を返す。返される文字列は、コールバック URI を指定するためにサーバに送られた文字列、 あるいはヘッドレスデバイスでは代替メソッドを示す単語です。

replyHandler() およびsetReplyHandler()も参照 ください。

QString QAbstractOAuth::clientIdentifier() const

認証プロセスで使用されている現在のクライアント識別子を返します。

注意: clientIdentifier プロパティのゲッター関数です。

setClientIdentifier()も参照ください

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

認証された呼び出しで使用されている現在の Content-Type を返す。

注: contentTypeプロパティのゲッター関数。

setContentType() およびpost()も参照

[pure virtual invokable] QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

認証されたDELETEリクエストを送り、新しいQNetworkReply を返す。urlparameters はリクエストの作成に使用される。

以下も参照のこと:ハイパーテキスト転送プロトコル - HTTP/1.1:DELETE

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QVariantMap QAbstractOAuth::extraTokens() const

認証中にサーバから受け取った追加トークンを返します。

注意: extraTokens プロパティのゲッター関数です。

extraTokensChanged()も参照ください

[static protected] QByteArray QAbstractOAuth::generateRandomString(quint8 length)

ステートまたはノンスとして使用できるランダムな文字列を生成する。パラメータlength で、生成される文字列のサイズを指定します。

こちらも参照OAuth 1.0 プロトコル:NonceとTimestamp」も参照。

注意:この関数はスレッドセーフです。

[pure virtual invokable] QNetworkReply *QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters = QVariantMap())

認証されたGETリクエストを送り、新しいQNetworkReply を返す。urlparameters はリクエストの作成に使用される。

以下も参照のこと:ハイパーテキスト転送プロトコル - HTTP/1.1:GET

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[pure virtual slot] void QAbstractOAuth::grant()

サブクラスで対応する認証フローを実装するには、この関数をオーバーライドします。クライアントコードは、この関数をコールして認証ワークフローを開始します。これにはユーザとの対話が必要になることがあります。たとえば、ウェブブラウザ経由でユーザの認証を求めるような場合です。認証に成功すると、granted() を発行します。これは、認証済みのコールで認証情報を使用できるようになったことを通知するものです。

[signal] void QAbstractOAuth::granted()

このシグナルは、認可フローが正常に終了したときに発行される。

認証されたHEADリクエストを送り、新しいQNetworkReply を返す。urlparameters はリクエストの作成に使われる。

以下も参照のこと:ハイパーテキスト転送プロトコル - HTTP/1.1:HEAD

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

現在のパラメータ変更関数を返します。

setModifyParametersFunction() およびStageも参照のこと

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

認証フロー中にリクエストをサーバーに送信するため、あるいは認証コールを 行うために使用する、現在のネットワークアクセスマネージャーを返す。

setNetworkAccessManager() およびQNetworkAccessManagerも参照

[pure virtual invokable] QNetworkReply *QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

認証されたPOSTリクエストを送り、新しいQNetworkReply を返す。urlparameters はリクエストの作成に使用されます。

こちらも参照ハイパーテキスト転送プロトコル - HTTP/1.1:POST

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[pure virtual] void QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())

認証されたリクエストに必要なヘッダーとbody を追加することで、与えられたrequest を認可する。

verb は有効なHTTP動詞でなければならず、request を送るために使われる動詞と同じでなければならない。

[pure virtual invokable] QNetworkReply *QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters = QVariantMap())

認証されたPUTリクエストを送り、新しいQNetworkReply を返す。urlparameters はリクエストの作成に使用されます。

こちらも参照ハイパーテキスト転送プロトコル - HTTP/1.1:PUT

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

現在使用中のリプライハンドラを返します。

setReplyHandler() およびQAbstractOAuthReplyHandlerも参照

[signal] void QAbstractOAuth::requestFailed(const QAbstractOAuth::Error error)

このシグナルは、サーバーへのリクエストが失敗したことを示すために発せられる。指定されたerror は、リクエストがどのように失敗したかを示す。

QAbstractOAuth2::error() およびQAbstractOAuthReplyHandler::tokenRequestErrorOccurred()も参照の こと。

[virtual protected] void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)

ウェブブラウザで使用するリソース所有者認証URLを構築する。url がベースURLとして使用され、parameters を使用してクエリが作成される。URLの準備ができると、生成されたURLとともにauthorizeWithBrowser() シグナルが発行される。

authorizeWithBrowser()も参照のこと

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

urlこのアドレスは、ユーザが、ユーザに代わって認証された呼び出しを行う能力をアプリケーショ ンに付与するために使用される。

注: authorizationUrl プロパティのセッター関数。

authorizationUrl()も参照してください

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

現在のクライアント識別子をclientIdentifier に設定する。

注: プロパティclientIdentifier に対するセッター関数。

clientIdentifier()も参照してください

void QAbstractOAuth::setContentType(QAbstractOAuth::ContentType contentType)

現在の Content-Type をcontentType に設定する。

注: プロパティcontentType に対するセッター関数。

contentType()も参照

void QAbstractOAuth::setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)

パラメータ変更関数modifyParametersFunction を設定する。この関数は、指定された認証段階でサーバに送信されるパラメータをカスタマイズするために使用される。この関数をコールする回数は、認証時に使用するフローによって異なります。

modifyParametersFunction() およびStageも参照

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

networkAccessManager QAbstractOAuth は の所有権を取りません。カスタム・ネットワーク・アクセス・ マネージャが設定されていない場合は、内部ネットワーク・アクセス・マネージャ が使用されます。このネットワーク・アクセス・マネージャは、認証サーバへの要求と、認証された Web サービスへの要求に使用されます。networkAccessManager

networkAccessManager() およびQNetworkAccessManagerも参照してください

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

現在のリプライハンドラをhandler に設定する。

注意: handler の所有権は持たない。

replyHandler()も参照

[protected] void QAbstractOAuth::setStatus(QAbstractOAuth::Status status)

現在のステータスをstatus に設定します。このメソッドは、QAbstractOAuth に基づくクラスで使用します。

status()も参照

void QAbstractOAuth::setToken(const QString &token)

認証済みリクエストの署名に使用されるトークンをtoken に設定します。

注意: token プロパティのセッター関数です。

token()も参照してください

QAbstractOAuth::Status QAbstractOAuth::status() const

現在の認証状態を返します。

注意: プロパティ状態のゲッター関数です。

setStatus() およびStatusも参照

QString QAbstractOAuth::token() const

認証済みリクエストの署名に使用されたトークンを返します。

注意: プロパティ token のゲッター関数です。

setToken()も参照ください

© 2025 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.