QAbstractOAuth Class
QAbstractOAuth クラスは、OAuth 認証メソッドのすべての実装の基となるクラスです。詳細...
| ヘッダー: | #include <QAbstractOAuth> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake: | QT += networkauth |
| 継承元: | QObject |
| 継承元: |
パブリック型
| 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 ¶meters = QVariantMap()) = 0 |
| QVariantMap | extraTokens() const |
| virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| QAbstractOAuth::ModifyParametersFunction | modifyParametersFunction() const |
| QNetworkAccessManager * | networkAccessManager() const |
| virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0 |
| virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = 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> ¶meters) |
| void | setStatus(QAbstractOAuth::Status status) |
静的保護メンバー
| QByteArray | generateRandomString(quint8 length) |
詳細な説明
このクラスは、OAuth 認証クラスの基本的なインターフェースを定義しています。このクラスを継承することで、さまざまな Web サービス向けのカスタム認証メソッドを作成できます。
また、さまざまな認証フローの実装プロセスを容易にするための関数もいくつか含まれています。
メンバ型に関するドキュメント
enum class QAbstractOAuth::ContentType
認証済み呼び出しにおけるPOSTメソッドのMIME Content-Typeを示します。
| 定数 | 値 | 説明 |
|---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded | 0 | application/x-www-form-urlencoded 形式を使用します。 |
QAbstractOAuth::ContentType::Json | 1 | application/json 形式を使用します。 |
enum class QAbstractOAuth::Error
最後に受信したエラーを示します。
| 定数 | 値 | 説明 |
|---|---|---|
QAbstractOAuth::Error::NoError | 0 | エラーは発生していません。 |
QAbstractOAuth::Error::NetworkError | 1 | サーバーへの接続に失敗しました。 |
QAbstractOAuth::Error::ServerError | 2 | サーバーがリクエストに対してエラーを返したか、またはその応答が正常に受信されませんでした(例えば、状態の不一致など)。 |
QAbstractOAuth::Error::OAuthTokenNotFoundError | 3 | トークン要求に対するサーバーの応答に、トークン識別子が含まれていませんでした。 |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | トークン要求に対するサーバーの応答に、トークンシークレットが含まれていませんでした。 |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | 認証サーバーは、リクエストで指定されたコールバック 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::RequestingTemporaryCredentials | 0 | 一時的な認証情報の要求を準備しています。 |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | 承認グラント URL を準備しています。 |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | トークンリクエストの準備中。 |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | アクセストークンの更新の準備中。 |
enum class QAbstractOAuth::Status
現在の認証状態を示します。
| 定数 | 値 | 説明 |
|---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | トークンが取得されていません。 |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | 一時的な認証情報を受け取りました。このステータスは、一部の OAuth 認証方式で使用されます。 |
QAbstractOAuth::Status::Granted | 2 | トークン認証情報が受信され、認証済み呼び出しが許可されています。 |
QAbstractOAuth::Status::RefreshingToken | 3 | 新しいトークン認証情報が要求されました。 |
プロパティのドキュメント
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
このプロパティには、認証済みリクエストの署名に使用されるトークンが格納されます。
アクセス関数:
通知シグナル:
| 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 ¶meters = 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 ¶meters = QVariantMap())
認証済みのGETリクエストを送信し、新しいQNetworkReply を返します。url およびparameters は、リクエストの作成に使用されます。
関連項目:ハイパーテキスト転送プロトコル – HTTP/1.1: GET
注:この関数は 、メタオブジェクトシステムを介して、またはQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[pure virtual slot] void QAbstractOAuth::grant()
この関数をオーバーライドして、サブクラスで対応する認証フローを実装してください。クライアントコードはこの関数を呼び出して、認証ワークフローを開始します。この際、ユーザーの操作が必要になる場合があります。例えば、Webブラウザを介してユーザーに認証を依頼するなどです。認証に成功した場合は、granted() を発行する必要があります。これにより、認証済み呼び出しで認証情報を使用できる状態になったことが通知されます。
[signal] void QAbstractOAuth::granted()
このシグナルは、認証フローが正常に完了した際に送信されます。
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
認証済みの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 ¶meters = 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 ¶meters = 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> ¶meters)
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のゲッター 関数です。
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.