QAbstractOAuth2 Class
QAbstractOAuth2 クラスは、OAuth 2 認証メソッドのすべての実装のベースとなるものです。詳細...
ヘッダ | #include <QAbstractOAuth2> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
qmake: | QT += networkauth |
を継承する: | QAbstractOAuth |
によって継承される: | QOAuth2AuthorizationCodeFlow そしてQOAuth2DeviceAuthorizationFlow |
パブリックな型
(since 6.9) enum class | NonceMode { Automatic, Enabled, Disabled } |
プロパティ
|
|
パブリック関数
QAbstractOAuth2(QObject *parent = nullptr) | |
QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr) | |
virtual | ~QAbstractOAuth2() |
bool | autoRefresh() const |
void | clearNetworkRequestModifier() |
QString | clientIdentifierSharedKey() const |
virtual QUrl | createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) |
QDateTime | expirationAt() const |
QSet<QByteArray> | grantedScopeTokens() const |
QString | idToken() const |
QString | nonce() const |
QAbstractOAuth2::NonceMode | nonceMode() const |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QByteArray &data) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, QHttpMultiPart *multiPart) |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QByteArray &data) |
std::chrono::seconds | refreshLeadTime() const |
QString | refreshToken() const |
QSet<QByteArray> | requestedScopeTokens() const |
QString | responseType() const |
QString | scope() const |
void | setAutoRefresh(bool enable) |
void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
(since 6.9) void | setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback) |
void | setNonce(const QString &nonce) |
void | setNonceMode(QAbstractOAuth2::NonceMode mode) |
void | setRefreshLeadTime(std::chrono::seconds leadTime) |
void | setRefreshToken(const QString &refreshToken) |
void | setRequestedScopeTokens(const QSet<QByteArray> &tokens) |
void | setScope(const QString &scope) |
(since 6.5) void | setSslConfiguration(const QSslConfiguration &configuration) |
void | setState(const QString &state) |
void | setTokenUrl(const QUrl &tokenUrl) |
void | setUserAgent(const QString &userAgent) |
(since 6.5) QSslConfiguration | sslConfiguration() const |
QString | state() const |
QUrl | tokenUrl() const |
QString | userAgent() const |
再実装パブリック関数
(until 6.11) virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
(until 6.11) virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
(until 6.11) virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
パブリック・スロット
(since 6.9) void | refreshTokens() |
シグナル
(since 6.9) void | accessTokenAboutToExpire() |
void | authorizationCallbackReceived(const QVariantMap &data) |
void | autoRefreshChanged(bool enable) |
void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
(until 6.13) void | error(const QString &error, const QString &errorDescription, const QUrl &uri) |
void | expirationAtChanged(const QDateTime &expiration) |
void | grantedScopeTokensChanged(const QSet<QByteArray> &tokens) |
void | idTokenChanged(const QString &idToken) |
void | nonceChanged(const QString &nonce) |
void | nonceModeChanged(QAbstractOAuth2::NonceMode mode) |
void | refreshLeadTimeChanged(std::chrono::seconds leadTime) |
void | refreshTokenChanged(const QString &refreshToken) |
void | requestedScopeTokensChanged(const QSet<QByteArray> &tokens) |
void | scopeChanged(const QString &scope) |
(since 6.9) void | serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri) |
(since 6.5) void | sslConfigurationChanged(const QSslConfiguration &configuration) |
void | stateChanged(const QString &state) |
void | tokenUrlChanged(const QUrl &tokenUrl) |
void | userAgentChanged(const QString &userAgent) |
保護されたスロット
(since 6.9) void | refreshTokensImplementation() |
詳細説明
このクラスは OAuth 2 認証クラスの基本インターフェイスを定義します。このクラスを継承することで、さまざまなウェブサービス用の OAuth 2 標準を使用したカスタム認証メソッドを作成することができます。
OAuth 2 の仕組みについてはOAuth 2.0 認証フレームワーク
メンバ型のドキュメント
[since 6.9]
enum class QAbstractOAuth2::NonceMode
利用可能なnonceモードのリスト。
定数 | 値 | 説明 |
---|---|---|
QAbstractOAuth2::NonceMode::Automatic | 0 | requested scope にopenid が含まれる場合、Nonce が送信される。これはデフォルトのモードであり、nonce が OIDC 認証フローに関連する場合にのみ送信される。 |
QAbstractOAuth2::NonceMode::Enabled | 1 | 認証段階でNonceが送信される。 |
QAbstractOAuth2::NonceMode::Disabled | 2 | Nonceは認証段階では送信されない。 |
この列挙は Qt 6.9 で導入されました。
nonce およびQt OAuth2 Overviewも参照してください 。
プロパティの説明
[since 6.9]
autoRefresh : bool
このプロパティは、アクセストークンの自動更新を有効または無効にします。
このプロパティは、アクセストークンの自動更新を有効または無効にします。これは、ユーザの介入なしに継続的な認証が必要なアプリケーションに便利です。
このプロパティがtrue
の場合、トークンが期限切れになり、有効なrefreshToken が存在するときにrefreshTokens() が自動的に呼び出されます。
このプロパティは Qt 6.9 で導入されました。
アクセス関数
bool | autoRefresh() const |
void | setAutoRefresh(bool enable) |
Notifier シグナル:
void | autoRefreshChanged(bool enable) |
refreshLeadTime およびaccessTokenAboutToExpire()も参照してください 。
clientIdentifierSharedKey : QString
このプロパティは、サーバがトークンを要求する際に認証を必要とする場合に、パスワードとして使用されるクライアント共有鍵を保持する。
アクセス関数
QString | clientIdentifierSharedKey() const |
void | setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey) |
通知シグナル
void | clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey) |
[read-only]
expiration : const QDateTime
このプロパティは、現在のアクセストークンの有効期限を保持します。無効な値は、認証サーバが有効な有効期限を提供していないことを意味します。
アクセス関数:
QDateTime | expirationAt() const |
Notifier シグナル:
void | expirationAtChanged(const QDateTime &expiration) |
QDateTime::isValid()も参照 。
[read-only, since 6.9]
grantedScopeTokens : const QSet<QByteArray>
このプロパティは、認可サーバから付与されたスコープを保持する。
要求されたスコープと付与されたスコープは異なる可能性があります。エンドユーザがスコープのサブセットのみを許可することを選択したり、サーバ側のポリシーによってスコープが変更されたりする可能性があります。アプリケーションは、このようなシナリオに対応できるように準備しておく必要があります。そして、付与されたスコープをチェックして、アプリケーションロジックに影響を与える必要があるかどうかを確認しなければなりません。
サーバーは、RFC 6749で定義されているように、付与されたスコープの表示を完全に 省略することができる。この場合、実装は付与されたスコープが要求されたスコープと同じであると仮定します。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QSet<QByteArray> | grantedScopeTokens() const |
Notifier シグナル:
void | grantedScopeTokensChanged(const QSet<QByteArray> &tokens) |
QAbstractOAuth2::requestedScopeTokensも参照してください 。
[read-only, since 6.9]
idToken : const QString
このプロパティは、受信したOpenID Connect ID トークンを保持します。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QString | idToken() const |
Notifier シグナル:
void | idTokenChanged(const QString &idToken) |
NonceMode,nonce,Qt OpenID Connect Supportも参照してください 。
[since 6.9]
nonce : QString
このプロパティは、認証時にサーバに送信される文字列を保持します。この nonce は、適用可能なトークン応答 (特に OpenID Connectid_token
) を認可段階に関連付けるために使用されます。
nonce
の主な目的は、リプレイ攻撃を軽減することです。これは、受信したトークン応答がアプリケーションによって開始された認証要求に対するものであることを保証し、攻撃者が不正なコンテキストでトークンを再利用することを防ぎます。したがって、トークン検証の一部としてnonce検証を含めることが重要である。
実際には、認証サーバーのベンダーは、認証リクエストでnonceが提供されない場合、OpenID Connectリクエストを拒否することがあります。
トークン自体は不透明な文字列であり、互換性を最大化するためにURLセーフな文字のみを含む必要があります。さらに、トークンは攻撃者が推測できないように、適切なエントロピーを提供しなければなりません。nonceには厳密なサイズ制限はなく、認証サーバベンダは独自の最小・最大サイズを課すことができる。
nonce
は手動で設定できますが、Qt のクラスは設定されていない場合、32 文字の noncewhen needed を生成します。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QString | nonce() const |
void | setNonce(const QString &nonce) |
Notifier シグナル:
void | nonceChanged(const QString &nonce) |
nonceMode とQt OpenID Connect Supportも参照してください 。
[since 6.9]
nonceMode : NonceMode
このプロパティは、現在の nonce モード(nonce が使用されているかどうか)を保持します。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QAbstractOAuth2::NonceMode | nonceMode() const |
void | setNonceMode(QAbstractOAuth2::NonceMode mode) |
Notifier シグナル:
void | nonceModeChanged(QAbstractOAuth2::NonceMode mode) |
[since 6.9]
refreshLeadTime : std::chrono::seconds
このプロパティは、アクセストークンの有効期限に対して、accessTokenAboutToExpire() シグナルがどの程度前に発せられるかを定義する。
このプロパティは、現在のアクセストークンの有効期限が切れる前に、accessTokenAboutToExpire() シグナルが発信される時間間隔(秒)を指定します。このプロパティに設定する値は、正の継続時間でなければなりません。
この間隔により、アプリケーションはトークンを事前にリフレッシュすることができ、中断することなく継続的な認可を確保することができます。
このプロパティが明示的に設定されていない場合、または指定されたleadTimeがトークンの有効期間よりも大きい場合、leadTimeはトークンの残りの有効期間の5%にデフォルト設定されます。
注意: Expirationシグナルは、認証サーバーが適切な有効期限時間を提供している場合にのみ機能します。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
std::chrono::seconds | refreshLeadTime() const |
void | setRefreshLeadTime(std::chrono::seconds leadTime) |
Notifier シグナル:
void | refreshLeadTimeChanged(std::chrono::seconds leadTime) |
autoRefreshも参照してください 。
[since 6.9]
requestedScopeTokens : QSet<QByteArray>
このプロパティは、クライアントが要求するパーミッションを定義する、希望するスコープを保持する。
注意: スコープ・トークンは、印刷可能なUS-ASCII文字のサブセットに制限されています。この範囲外の文字の使用はサポートされていません。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QSet<QByteArray> | requestedScopeTokens() const |
void | setRequestedScopeTokens(const QSet<QByteArray> &tokens) |
Notifier シグナル:
void | requestedScopeTokensChanged(const QSet<QByteArray> &tokens) |
QAbstractOAuth2::grantedScopeTokensも参照してください 。
[until 6.13]
scope : QString
このプロパティはバージョン6.13で廃止予定です。
代わりにrequestedScopeTokens とgrantedScopeTokens プロパティを使用してください。このプロパティは Qt 7 で削除される予定です。
このプロパティは、クライアントによって要求されたパーミッションを定義する希望のスコープを保持します。
スコープ値は、認証サーバーによって付与されたスコープ値に更新されます。スコープ応答が空の場合、要求されたスコープは許可されたものとみなされ、変更されません。
このプロパティが、最初は要求されたスコープとして、後には付与されたスコープとして、2つの異なる役割を果たすという事実は、歴史的な産物です。新しいコードはすべて、QAbstractOAuth2::requestedScopeTokens とQAbstractOAuth2::grantedScopeTokens を使うことを推奨します。
アクセス関数
QString | scope() const |
void | setScope(const QString &scope) |
ノーティファイアシグナル:
void | scopeChanged(const QString &scope) |
QAbstractOAuth2::grantedScopeTokens およびQAbstractOAuth2::requestedScopeTokensも参照のこと 。
state : QString
このプロパティは、認証中にサーバに送信される文字列を保持する。この状態は、コールバックを受信したときにリクエストを識別し、検証するために使用されます。
state 要素では、特定の文字が不正です (RFC 6749 を参照)。不正な文字を使用すると、意図しないステートの不一致が発生し、OAuth 2 の認証に失敗する可能性があります。したがって、不正な文字を含む値を設定しようとすると、その状態は無視され、警告が記録されます。
アクセス関数
QString | state() const |
void | setState(const QString &state) |
通知シグナル
void | stateChanged(const QString &state) |
[since 6.9]
tokenUrl : QUrl
このプロパティは、トークンを取得するために使用されるトークンエンドポイント URL を保持します。ユースケースと認証サーバーのサポートに応じて、これらのトークンはアクセストークン、リフレッシュトークン、および ID トークンになります。
トークンは通常、認可段階が完了すると取得されます。トークン・エンドポイントは、必要に応じてトークンをリフレッシュするためにも使用できます。
例えば、QOAuth2AuthorizationCodeFlow はこの url を使用してアクセストークン要求を発行し、QOAuth2DeviceAuthorizationFlow はこの url を使用してアクセストークンをポーリングします。
このプロパティは Qt 6.9 で導入されました。
アクセス関数です:
QUrl | tokenUrl() const |
void | setTokenUrl(const QUrl &tokenUrl) |
Notifier シグナル:
void | tokenUrlChanged(const QUrl &tokenUrl) |
userAgent : QString
このプロパティは、ネットワークリクエストの作成に使用される User-Agent ヘッダを保持します。
デフォルト値は "QtOAuth/1.0 (+https://www.qt.io) "です。
アクセス関数
QString | userAgent() const |
void | setUserAgent(const QString &userAgent) |
Notifier シグナル:
void | userAgentChanged(const QString &userAgent) |
メンバ関数ドキュメント
[explicit]
QAbstractOAuth2::QAbstractOAuth2(QObject *parent = nullptr)
parent を親として QAbstractOAuth2 オブジェクトを構築します。
[explicit]
QAbstractOAuth2::QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
parent を親として QAbstractOAuth2 オブジェクトを構築し、manager をネットワーク・アクセス・マネージャーとして設定します。
[virtual noexcept]
QAbstractOAuth2::~QAbstractOAuth2()
QAbstractOAuth2 インスタンスを破棄します。
[signal, since 6.9]
void QAbstractOAuth2::accessTokenAboutToExpire()
このシグナルは、アクセストークンの有効期限が近づいたときに発せられます。
このシグナルを発するには、アクセストークンが有効な有効期限を持っている必要があります。このシグナルを手動で処理する方法として、autoRefresh を使う方法があります。
この関数は Qt 6.9 で導入されました。
refreshLeadTime,autoRefresh,refreshTokens()も参照してください 。
[signal]
void QAbstractOAuth2::authorizationCallbackReceived(const QVariantMap &data)
リプライサーバーがサーバーから認可コールバックを受信したときに発せられるシグナル。data はサーバーから受信した値を含む。
void QAbstractOAuth2::clearNetworkRequestModifier()
ネットワーク要求修飾子をクリアする。
setNetworkRequestModifier()も参照 。
[virtual invokable]
QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
返される URL はurl を元に、与えられたparameters とアクセストークンを組み合わせたものです。
注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
この関数はバージョン6.11で廃止予定です。
再インプリメントです:QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters) を再実装しています。
代わりにQtNetwork クラスを直接使用してください。
認証された DELETE リクエストを送信し、新しいQNetworkReply を返します。url とparameters がリクエストの作成に使用されます。
こちらも参照してください:ハイパーテキスト転送プロトコル - HTTP/1.1 も参照のこと:DELETE
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[signal, until 6.13]
void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)
この関数はバージョン6.13で廃止予定です。
代わりにserverReportedErrorOccurred を使用してください。
RFC 6749 のエラー応答に定義されているように、サーバが認可リクエストに対して エラーを応答したときに発行されるシグナルです。
error はエラーの名前である。 はエラーを説明し、 はエラーに関する詳細情報を含むオプションのURIである。errorDescription uri
QAbstractOAuth::requestFailed() およびQAbstractOAuth2::serverReportedErrorOccurred()も参照の こと。
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
この関数はバージョン6.11で廃止予定です。
再インプリメントです:QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters) を再実装しています。
代わりにQtNetwork クラスを直接使用してください。
認証された GET リクエストを送信し、新しいQNetworkReply を返します。url とparameters がリクエストの作成に使用されます。
こちらも参照してください:ハイパーテキスト転送プロトコル - HTTP/1.1 も参照してください:GET
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
この関数はバージョン6.11で廃止予定です。
再インプリメントです:QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters) を再実装しています。
代わりにQtNetwork クラスを直接使用してください。
認証された HEAD リクエストを送信し、新しいQNetworkReply を返します。url とparameters がリクエストの作成に使われます。
こちらも参照してください:ハイパーテキスト転送プロトコル - HTTP/1.1 も参照のこと:HEAD
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
この関数はバージョン6.11で廃止予定です。
再インプリメントです:QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters) を再実装しています。
代わりにQtNetwork クラスを直接使用してください。
認証された POST リクエストを送信し、新しいQNetworkReply を返します。url とparameters がリクエストの作成に使用されます。
こちらも参照してください:ハイパーテキスト転送プロトコル - HTTP/1.1 も参照してください:POST
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)
この関数はバージョン6.11で廃止予定です。
代わりにQtNetwork クラスを直接使用してください。
これはオーバーロードされた関数です。
認証された POST リクエストを送信し、新しいQNetworkReply を返します。リクエストの作成にはurl とmultiPart が使われます。
{ハイパーテキスト転送プロトコル - HTTP/1.1:POST}
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
post()、QHttpMultiPart 、https://tools.ietf.org/html/rfc2616#section-9.6 も参照してください。
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)
この関数はバージョン6.11で廃止予定です。
代わりにQtNetwork クラスを直接使用してください。
これはオーバーロードされた関数です。
認証された POST リクエストを送信し、新しいQNetworkReply を返します。リクエストの作成にはurl とdata が使われます。
{ハイパーテキスト転送プロトコル - HTTP/1.1:POST}
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
post() およびhttps://tools.ietf.org/html/rfc2616#section-9.6 も参照して ください。
[override virtual]
void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
再実装:QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).
[override virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
この関数はバージョン6.11で廃止予定です。
再インプリメントです:QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters) を再実装しています。
代わりにQtNetwork クラスを直接使用してください。
認証された PUT リクエストを送信し、新しいQNetworkReply を返します。url とparameters がリクエストの作成に使用されます。
こちらも参照してください:ハイパーテキスト転送プロトコル - HTTP/1.1 も参照のこと:PUT
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)
この関数はバージョン6.11で廃止予定です。
代わりにQtNetwork クラスを直接使用してください。
これはオーバーロードされた関数です。
認証された PUT リクエストを送信し、新しいQNetworkReply を返します。url とmultiPart はリクエストの作成に使用されます。
{ハイパーテキスト転送プロトコル - HTTP/1.1:PUT}
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
put()、QHttpMultiPart 、https://tools.ietf.org/html/rfc2616#section-9.6 も参照してください。
[virtual invokable, until 6.11]
QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)
この関数はバージョン6.11で廃止予定です。
代わりにQtNetwork クラスを直接使用してください。
これはオーバーロードされた関数です。
認証された PUT リクエストを送信し、新しいQNetworkReply を返します。url とdata はリクエストの作成に使用されます。
{ハイパーテキスト転送プロトコル - HTTP/1.1:PUT}
注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。
put() およびhttps://tools.ietf.org/html/rfc2616#section-9.6も参照してください 。
QString QAbstractOAuth2::refreshToken() const
現在のリフレッシュトークンを取得します。
リフレッシュトークンは通常、アクセストークンよりも寿命が長いので、 後で使うために保存しておくことは理にかなっています。
現在のリフレッシュ・トークン、あるいは利用可能なリフレッシュ・トークンがない場合は空の文字列を返します。
注意: プロパティ refreshToken のゲッター関数です。
setRefreshToken()も参照してください 。
[slot, since 6.9]
void QAbstractOAuth2::refreshTokens()
トークンをリフレッシュするには、この関数を呼び出します。この関数はrefreshTokensImplementation() を呼び出し、実際のリフレッシュを実行します。
この関数は Qt 6.9 で導入されました。
refreshTokensImplementation() およびautoRefreshも参照してください 。
[protected slot, since 6.9]
void QAbstractOAuth2::refreshTokensImplementation()
このスロットは、トークン・リフレッシュ・リクエストを送信するために、refreshTokens ()によって呼び出される。
派生クラスは、トークンのリフレッシュをサポートするために、このスロットを再実装する必要があります:
classMyClass :publicQAbstractOAuth2 { ...protectedQ_SLOTS:voidrefreshTokensImplementation() QT7_ONLY(override); };voidMyClass::refreshTokensImplementation(){ qDebug("refresh"); }
この関数はQt 6.9で導入されました。
autoRefresh とaccessTokenAboutToExpire()も参照してください 。
QString QAbstractOAuth2::responseType() const
使用したresponse_type を返します。
[signal, since 6.9]
void QAbstractOAuth2::serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri)
RFC 6749のエラー応答に定義されているように、サーバーが認可リクエストに対して エラーを応答したときに発行されるシグナル。
error はエラーの名前である。 はエラーを説明し、 はエラーの詳細情報を含むオプションのURIである。errorDescription uri
これらのRFCで定義されたエラーを含むすべてのエラーを1つのシグナルでキャッチするには、QAbstractOAuth::requestFailed()を使用してください。
この関数はQt 6.9で導入されました。
[since 6.9]
template <typename Functor, QAbstractOAuth2::if_compatible_callback<Functor> = true> void QAbstractOAuth2::setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)
ネットワークリクエスト変更機能をcallback に設定する。 この関数はサーバーに送られるネットワークリクエストをカスタマイズするために使用される。
callback は というシグネチャを実装する必要があります。 には、関数ポインタ、ラムダ、メンバ関数、呼び出し可能な オブジェクトを指定できます。提供される は、リクエストがどのステージに関連するかをチェックするために 使用できる( の場合、トークンリクエスト、トークンリフレッシュリ クエスト、認可リクエスト)。void(QNetworkRequest&, QAbstractOAuth::Stage)
QNetworkRequest callback QAbstractOAuth::Stage QOAuth2DeviceAuthorizationFlow
context は、呼び出しの有効期間を制御し、 が破棄された場合に非割り当てリソースへのアクセスを防止する。言い換えると、コンテキストとして提供されたオブジェクトが破壊されると、コールバックは実行されない。 は、有効な を指す必要がある(コールバックがメンバ関数の場合は、実際にメンバ関数を持つ必要がある)。コールバックの結果はすぐに使用されるため、 は インスタンスと同じスレッドに存在する必要があります。context context QObject context QAbstractOAuth2
この関数は Qt 6.9 で導入されました。
clearNetworkRequestModifier() およびQNetworkRequestも参照してください 。
void QAbstractOAuth2::setRefreshToken(const QString &refreshToken)
使用する新しいリフレッシュ・トークンrefreshToken を設定します。
カスタムのリフレッシュ・トークンを使用して、このメソッドでアクセストークンをリフレッシュし、refreshTokens() でアクセストークンをリフレッシュすることができます。
注: プロパティrefreshToken のセッター関数です。
refreshToken()も参照してください 。
[since 6.5]
void QAbstractOAuth2::setSslConfiguration(const QSslConfiguration &configuration)
クライアントと認証サーバ間で相互 TLS 接続を確立する際に使用する TLSconfiguration を設定します。
この関数は Qt 6.5 で導入されました。
sslConfiguration() およびsslConfigurationChanged()も参照してください 。
[since 6.5]
QSslConfiguration QAbstractOAuth2::sslConfiguration() const
クライアントと認証サーバ間で相互 TLS 接続を確立する際に使用する TLS 設定を返します。
この関数は Qt 6.5 で導入されました。
setSslConfiguration() およびsslConfigurationChanged()も参照してください 。
[signal, since 6.5]
void QAbstractOAuth2::sslConfigurationChanged(const QSslConfiguration &configuration)
このシグナルは、TLSコンフィギュレーションが変更されたときに発せられる。configuration パラメータには新しい TLS コンフィギュレーションが含まれます。
この関数はQt 6.5で導入されました。
sslConfiguration() とsetSslConfiguration()も参照してください 。
© 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.