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, OAuthCallbackNotVerified } |
enum class | Stage { RequestingTemporaryCredentials, RequestingAuthorization, RequestingAccessToken, RefreshingAccessToken } |
enum class | Status { NotAuthenticated, TemporaryCredentialsReceived, Granted, RefreshingToken } |
プロパティ
- authorizationUrl : QUrl
- contentType : QAbstractOAuth::ContentType
- extraTokens : const QVariantMap
- status : const Status
パブリック機能
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) |
保護された関数
QString | callback() const |
virtual void | resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters) |
void | setStatus(QAbstractOAuth::Status status) |
静的プロテクトメンバ
QByteArray | generateRandomString(quint8 length) |
詳細説明
このクラスは OAuth 認証クラスの基本的なインターフェイスを定義します。このクラスを継承することで、さまざまなウェブサービス用のカスタム認証メソッドを作成することができます。
また、さまざまな認証フローを実装しやすくするための関数もいくつか含まれています。
メンバ型に関するドキュメント
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を検証していない。これは通常、提供されたコールバックがクライアント登録時に提供されたコールバックと一致しない場合に起こります。 |
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 を保持します: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 ¶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 プロトコル:NonceとTimestamp」も参照。
注意:この関数はスレッドセーフです。
[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()
サブクラスで対応する認証フローを実装するには、この関数をオーバーライドします。クライアントコードは、この関数をコールして認証ワークフローを開始します。これにはユーザとの対話が必要になることがあります。たとえば、ウェブブラウザ経由でユーザの認証を求めるような場合です。認証に成功すると、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())
認証されたリクエストに必要なヘッダーとbody を追加することで、与えられたrequest を認可する。
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)
ウェブブラウザで使用するリソース所有者認証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
現在の認証状態を返します。
注意: プロパティ状態のゲッター関数です。
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.