このページでは

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, …, ExpiredError }
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)

protected関数

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

静的保護メンバー

QByteArray generateRandomString(quint8 length)

詳細な説明

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

また、さまざまな認証フローの実装プロセスを容易にするための関数もいくつか含まれています。

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

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 を検証できませんでした。これは通常、指定されたコールバックが、クライアント登録時に指定されたコールバックと一致しない場合に発生します。
QAbstractOAuth::Error::ClientError (since Qt 6.9)6クライアントアプリケーションに起因するエラー(例:設定の欠落、または許可されていない状態でのリクエストの試行)。現在、QOAuth2DeviceAuthorizationFlow で使用されています。
QAbstractOAuth::Error::ExpiredError (since Qt 6.9)7トークンの有効期限が切れました。現在、QOAuth2DeviceAuthorizationFlow で使用されています。

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 が格納されます。

アクセス機能:

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

通知信号:

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

このプロパティには、認証プロセスで使用されるクライアント識別子が格納されます。

アクセス関数:

QString clientIdentifier() const
void setClientIdentifier(const QString &clientIdentifier)

通知シグナル:

void clientIdentifierChanged(const QString &clientIdentifier)

関連項目: ` setClientIdentifier()`。

contentType : QAbstractOAuth::ContentType

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

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

アクセス関数:

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

通知シグナル:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : QVariantMap

このプロパティには、サーバーから受け取った追加のトークンが格納されます。

アクセス関数:

QVariantMap extraTokens() const

Notifierシグナル:

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

このプロパティには、現在の認証ステータスが格納されます。

アクセス関数:

QAbstractOAuth::Status status() const

通知信号:

void statusChanged(QAbstractOAuth::Status status)

token : QString

このプロパティには、認証済みリクエストの署名に使用されるトークンが格納されます。

アクセス関数:

QString token() const
void setToken(const QString &token)

通知シグナル:

void tokenChanged(const QString &token)

関連項目: setToken()。

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

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

抽象的な OAuth を破棄します。

QUrl QAbstractOAuth::authorizationUrl() const

認証リクエストのURLを返します。

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

関連項目: setAuthorizationUrl()。

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

このシグナルは、resourceOwnerAuthorization() によって生成されたurl が、Webブラウザで利用可能になり、アプリケーションがユーザーになりすますことができるようになったときに発信されます。

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 を返します。url およびparameters は、リクエストの作成に使用されます。

関連項目:ハイパーテキスト転送プロトコル – HTTP/1.1: DELETE

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

QVariantMap QAbstractOAuth::extraTokens() const

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

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

関連項目: extraTokensChanged()。

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

状態やノンスとして使用できるランダムな文字列を生成します。パラメータlength は、生成される文字列の長さを指定します。

関連項目:OAuth 1.0 プロトコル: ノンスとタイムスタンプ。

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

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

認証済みのGETリクエストを送信し、新しいQNetworkReply を返します。url およびparameters は、リクエストの作成に使用されます。

関連項目:ハイパーテキスト転送プロトコル – HTTP/1.1: GET

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

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

この関数をオーバーライドして、サブクラスで対応する認証フローを実装してください。クライアントコードはこの関数を呼び出して、認証ワークフローを開始します。この際、ユーザーの操作が必要になる場合があります。例えば、Webブラウザを介してユーザーに認証を依頼するなどです。認証に成功した場合は、granted() を発行する必要があります。これにより、認証済み呼び出しで認証情報を使用できる状態になったことが通知されます。

[signal] void QAbstractOAuth::granted()

このシグナルは、認証フローが正常に完了した際に送信されます。

認証済みのHEADリクエストを送信し、新しいQNetworkReply を返します。url およびparameters は、リクエストの作成に使用されます。

関連項目:ハイパーテキスト転送プロトコル – 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 を返します。url およびparameters は、リクエストを作成するために使用されます。

関連項目:ハイパーテキスト転送プロトコル – HTTP/1.1: POST

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

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

指定されたrequest に対し、認証済みリクエストに必要なヘッダーとbody を追加して認証を行います。

verb は有効なHTTP動詞である必要があり、request の送信に使用される動詞と同じでなければなりません。

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

認証済みのPUTリクエストを送信し、新しいQNetworkReply を返します。url およびparameters は、リクエストを作成するために使用されます。

関連項目:ハイパーテキスト転送プロトコル – 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)

Webブラウザで使用するリソース所有者認証URLを生成します。ベースURLとして `url ` を使用し、クエリは `parameters` を用いて作成されます。URLの準備が整うと、生成されたURLを含む `authorizeWithBrowser()` シグナルが発信されます。

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

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

認証リクエストの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 はnetworkAccessManager の所有権を取得しません。カスタムネットワークアクセスマネージャーが設定されていない場合は、内部のネットワークアクセスマネージャーが使用されます。このネットワークアクセスマネージャーは、認証サーバーへのリクエストおよび Web サービスへの認証済みリクエストの送信に使用されます。

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

現在の認証ステータスを返します。

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

関連項目: setStatus() およびStatus 。

QString QAbstractOAuth::token() const

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

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

関連項目: setToken()。

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