QAbstractOAuth Class

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

Header: #include <QAbstractOAuth>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
Inherits: QObject
Inherited By:

QAbstractOAuth2 and 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新しいトークン認証情報が要求されました。

プロパティ Documentation

authorizationUrl : QUrl

このプロパティはOAuth 1.0 プロトコルリソース所有者認証

アクセス関数:

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

Notifier シグナル

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

Notifier シグナル:

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)

ステートまたは nonce として使用可能なランダム文字列を生成します。パラメータ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 を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 に設定します。QAbstractOAuthnetworkAccessManager の所有権を持ちません。カスタム・ネットワーク・アクセス・ マネージャが設定されていない場合は、内部ネットワーク・アクセス・マネージャが使 用されます。このネットワーク・アクセス・マネージャは、認証サーバへの要求と、認証された 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() も参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。