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
继承于

QOAuth2AuthorizationCodeFlowQOAuth2DeviceAuthorizationFlow

公共类型

(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 &parameters = 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 &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = 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 &parameters = 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 授权》(The OAuth 2.0 Authorization):OAuth 2.0 授权框架

成员类型文档

[since 6.9] enum class QAbstractOAuth2::NonceMode

可用的nonce模式列表。

常数说明
QAbstractOAuth2::NonceMode::Automatic0如果requested scope 包含openid ,则发送 Nonce。这是默认模式,仅在与 OIDC 身份验证流相关时才发送nonce
QAbstractOAuth2::NonceMode::Enabled1在授权阶段发送 Nonce。
QAbstractOAuth2::NonceMode::Disabled2在授权阶段不发送 Nonce。

该枚举在 Qt 6.9 中引入。

另请参阅 nonceQt OAuth2 概述

属性文档

[since 6.9] autoRefresh : bool

此属性启用或禁用自动刷新访问令牌。

此属性可启用或禁用访问令牌的自动刷新。这对于需要不间断授权而无需用户干预的应用程序非常有用。

如果该属性为true ,当令牌即将过期且存在有效的refreshToken 时,将自动调用refreshTokens() 。

此属性在 Qt 6.9 中引入。

访问函数:

bool autoRefresh() const
void setAutoRefresh(bool enable)

Notifier 信号:

void autoRefreshChanged(bool enable)

另请参阅 refreshLeadTimeaccessTokenAboutToExpire()。

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 XML 类将生成一个 32 个字符的 noncewhen needed

此属性在 Qt 6.9 中引入。

访问函数:

QString nonce() const
void setNonce(const QString &nonce)

Notifier 信号:

void nonceChanged(const QString &nonce)

另请参阅 nonceModeQt OpenID Connect 支持

[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)

另请参阅 NonceModenonce

[since 6.9] refreshLeadTime : std::chrono::seconds

该属性定义了相对于访问令牌过期而言,提前多久发出accessTokenAboutToExpire() 信号。

该属性规定了accessTokenAboutToExpire() 信号发出的时间间隔(以秒为单位),即当前访问令牌到期前的时间间隔。为该属性设置的值必须是正持续时间。

该时间间隔允许应用程序提前刷新令牌,确保不间断授权。

如果未明确设置该属性,或提供的 leadTime 大于令牌的有效期,则 leadTime 默认为令牌剩余有效期的 5%,但不得少于到期前 10 秒(为刷新请求留出完成时间)。

注意: 过期信号只有在授权服务器提供了适当的过期时间后才会起作用。

此属性在 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 版中废弃。

请使用requestedScopeTokensgrantedScopeTokens 属性。此属性将在 Qt 7 中删除。

此属性保存所需的范围,该范围定义了客户端请求的权限。

范围值会更新为授权服务器授予的范围值。如果响应的作用域为空,则假定请求的作用域已被授予且不会更改

该属性有两种不同的作用,先是作为请求的作用域,后是作为授予的作用域,这是一个历史遗留问题。建议所有新代码都使用QAbstractOAuth2::requestedScopeTokensQAbstractOAuth2::grantedScopeTokens

访问功能:

QString scope() const
void setScope(const QString &scope)

Notifier 信号:

void scopeChanged(const QString &scope)

另请参见 QAbstractOAuth2::grantedScopeTokensQAbstractOAuth2::requestedScopeTokens

state : QString

该属性保存身份验证过程中发送到服务器的字符串。收到回调时,该状态用于识别和验证请求。

状态元素中的某些字符是非法的(参见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 &parameters = QVariantMap())

返回的 URL 基于url ,并与给定的parameters 和访问令牌相结合。

注: 可通过元对象系统和 QML 调用该函数。请参见Q_INVOKABLE

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

该函数计划在 6.11 版本中停用。

重实现:QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters).

请直接使用QtNetwork 类,参见HTTP 方法替代方法

发送经过验证的 DELETE 请求,并返回一个新的QNetworkReplyurlparameters 用于创建请求。

另请参阅 超文本传输协议 - 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 &parameters = QVariantMap())

该函数计划在 6.11 版本中停用。

重实现:QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters).

请直接使用QtNetwork 类,参见HTTP 方法替代方法

发送经过验证的 GET 请求,并返回一个新的QNetworkReplyurlparameters 用于创建请求。

另请参阅 超文本传输协议 - HTTP/1.1:GET

注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE

该函数计划在 6.11 版本中停用。

重实现:QAbstractOAuth::head(const QUrl &url, const QVariantMap &parameters).

请直接使用QtNetwork 类,参见HTTP 方法替代方法

发送一个经过验证的 HEAD 请求,并返回一个新的QNetworkReplyurlparameters 用于创建请求。

另请参阅 超文本传输协议 - HTTP/1.1:HEAD

注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

该函数计划在 6.11 版本中停用。

重实现:QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters).

请直接使用QtNetwork 类,参见HTTP 方法替代方法

发送经过验证的 POST 请求,并返回一个新的QNetworkReplyurlparameters 用于创建请求。

另请参阅 超文本传输协议 - HTTP/1.1:POST

注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)

该函数计划在 6.11 版中废弃。

请直接使用QtNetwork 类,参见HTTP 方法替代方案

这是一个重载函数。

发送一个经过验证的 POST 请求,并返回一个新的QNetworkReplyurlmultiPart 用于创建请求。

{超文本传输协议 - 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 类,参见HTTP 方法替代方案

这是一个重载函数。

发送一个经过验证的 POST 请求,并返回一个新的QNetworkReplyurldata 用于创建请求。

{超文本传输协议 - 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 &parameters = QVariantMap())

该函数计划在 6.11 版本中停用。

重实现:QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters).

请直接使用QtNetwork 类,参见HTTP 方法替代方法

发送经过验证的 PUT 请求并返回一个新的QNetworkReplyurlparameters 用于创建请求。

另请参阅 超文本传输协议 - HTTP/1.1:PUT

注: 可通过元对象系统和 QML 调用该函数。参见Q_INVOKABLE

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)

该函数计划在 6.11 版中废弃。

请直接使用QtNetwork 类,参见HTTP 方法替代方案

这是一个重载函数。

发送一个经过验证的 PUT 请求,并返回一个新的QNetworkReplyurlmultiPart 用于创建请求。

{超文本传输协议 - 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 类,参见HTTP 方法替代方案

这是一个重载函数。

发送一个经过验证的 PUT 请求,并返回一个新的QNetworkReplyurldata 用于创建请求。

{超文本传输协议 - 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 中引入。

另请参阅 autoRefreshaccessTokenAboutToExpire()。

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 定义的错误),请使用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 必须实现签名 。 可以是函数指针、lambda、成员函数或任何可调用对象。所提供的 可用于检查请求与哪个阶段有关(令牌请求、令牌刷新请求或 中的授权请求)。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.