QWebEngineWebAuthUxRequest Class

QWebEngineWebAuthUxRequest 类封装了 WebAuth UX 请求的数据。更多

头文件: #include <QWebEngineWebAuthUxRequest>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Qt 6.7
在 QML 中: WebEngineWebAuthUxRequest
继承: QObject

公共类型

enum class PinEntryError { NoError, InternalUvLocked, WrongPin, TooShort, InvalidCharacters, SameAsCurrentPin }
enum class PinEntryReason { Set, Change, Challenge }
enum class RequestFailureReason { Timeout, KeyNotRegistered, KeyAlreadyRegistered, SoftPinBlock, HardPinBlock, …, WinUserCancelled }
enum class WebAuthUxState { NotStarted, SelectAccount, CollectPin, FinishTokenCollection, RequestFailed, …, Completed }

属性

公共功能

QWebEngineWebAuthPinRequest pinRequest() const
QString relyingPartyId() const
QWebEngineWebAuthUxRequest::RequestFailureReason requestFailureReason() const
QWebEngineWebAuthUxRequest::WebAuthUxState state() const
QStringList userNames() const

公共插槽

void cancel()
void retry()
void setPin(const QString &pin)
void setSelectedAccount(const QString &selectedAccount)

信号

void stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)

详细说明

该类包含 WebAuth UX 的信息和 API。WebAuth 在验证过程中可能需要用户交互。QtWebEngine 目前支持用户验证、常驻凭证和显示请求失败用户体验请求。

QWebEngineWebAuthUxRequest 对 WebAuth 用户体验请求的整个生命周期进行建模,从显示用户体验对话框开始,通过状态变化更新对话框内容,最后关闭对话框。

WebAuth UX 请求通常在验证器需要用户交互时触发。QWebEnginePage 有责任将新的 WebAuth UX 请求通知应用程序,具体做法是发出webAuthUxRequested 信号和新创建的 QWebEngineWebAuthUxRequest。然后,应用程序就可以检查该请求并显示 WebAuth UX 对话框。

QWebEngineWebAuthUxRequest 对象会定期发出stateChanged 信号,通知潜在观察者当前的 WebAuth UX 状态。观察者会相应地更新 WebAuth 对话框。

有关如何处理网络引擎验证器请求的更多信息,请参阅简单浏览器

成员类型文档

enum class QWebEngineWebAuthUxRequest::PinEntryError

该枚举描述了可能促使身份验证器要求输入 PIN 码的错误。

常量说明
QWebEngineWebAuthUxRequest::PinEntryError::NoError0未发生错误。
QWebEngineWebAuthUxRequest::PinEntryError::InternalUvLocked1内部 UV 已锁定,因此我们退回到 PIN。
QWebEngineWebAuthUxRequest::PinEntryError::WrongPin2用户输入的 PIN 与身份验证 PIN 不匹配。
QWebEngineWebAuthUxRequest::PinEntryError::TooShort3用户输入的新 PIN 太短。
QWebEngineWebAuthUxRequest::PinEntryError::InvalidCharacters4用户输入的新 PIN 码包含无效字符。
QWebEngineWebAuthUxRequest::PinEntryError::SameAsCurrentPin5用户输入的新 PIN 码与当前设置的 PIN 码相同。

enum class QWebEngineWebAuthUxRequest::PinEntryReason

该枚举描述了可能促使身份验证器要求输入 PIN 码的原因。

常量说明
QWebEngineWebAuthUxRequest::PinEntryReason::Set0正在设置新 PIN 码。
QWebEngineWebAuthUxRequest::PinEntryReason::Change1使用此身份验证器前必须更改现有 PIN 码。
QWebEngineWebAuthUxRequest::PinEntryReason::Challenge2正在收集现有 PIN 码,以证明用户已通过验证。

enum class QWebEngineWebAuthUxRequest::RequestFailureReason

该枚举描述了 WebAuth 请求失败的原因。

常量说明
QWebEngineWebAuthUxRequest::RequestFailureReason::Timeout0身份验证会话超时。
QWebEngineWebAuthUxRequest::RequestFailureReason::KeyNotRegistered1密钥未在身份验证器上注册。
QWebEngineWebAuthUxRequest::RequestFailureReason::KeyAlreadyRegistered2密钥已在验证机上注册。尝试用另一个密钥注册或使用另一个身份验证器。
QWebEngineWebAuthUxRequest::RequestFailureReason::SoftPinBlock3由于用户多次输入错误密钥,身份验证器被阻止。
QWebEngineWebAuthUxRequest::RequestFailureReason::HardPinBlock4由于用户多次输入错误密钥,认证器被阻止,因此重置密码以再次使用特定认证器。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorRemovedDuringPinEntry5验证器在输入密码时被移除。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingResidentKeys6身份验证器不支持常驻密钥。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingUserVerification7身份验证器不支持用户验证。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingLargeBlob8身份验证器不支持大 Blob。
QWebEngineWebAuthUxRequest::RequestFailureReason::NoCommonAlgorithms9无通用算法。
QWebEngineWebAuthUxRequest::RequestFailureReason::StorageFull10由于身份验证器存储空间不足,无法创建常驻凭证。
QWebEngineWebAuthUxRequest::RequestFailureReason::UserConsentDenied11拒绝用户同意。
QWebEngineWebAuthUxRequest::RequestFailureReason::WinUserCancelled12用户在本地 Windows UI 中单击Cancel

enum class QWebEngineWebAuthUxRequest::WebAuthUxState

该枚举描述当前 WebAuth UX 请求的状态。

常量说明
QWebEngineWebAuthUxRequest::WebAuthUxState::NotStarted0WebAuth UX 请求尚未启动。
QWebEngineWebAuthUxRequest::WebAuthUxState::SelectAccount1身份验证器需要常驻凭据详细信息。应用程序需要显示账户详细信息对话框,用户需要选择一个账户才能继续。
QWebEngineWebAuthUxRequest::WebAuthUxState::CollectPin2身份验证器需要用户验证。应用程序需要显示 PIN 请求对话框。
QWebEngineWebAuthUxRequest::WebAuthUxState::FinishTokenCollection3身份验证器需要令牌/用户验证(如点击 FIDO 密钥)才能完成流程。
QWebEngineWebAuthUxRequest::WebAuthUxState::RequestFailed4WebAuth 请求失败。显示错误详情。
QWebEngineWebAuthUxRequest::WebAuthUxState::Cancelled5WebAuth 请求已取消。关闭 WebAuth 对话框。
QWebEngineWebAuthUxRequest::WebAuthUxState::Completed6WebAuth 请求已完成。关闭 WebAuth 对话框。

属性文档

[read-only] pinRequest : const QWebEngineWebAuthPinRequest

该属性保存 WebAuth 请求的 PIN 请求信息。

当前 WebAuth 请求状态为CollectPin 时需要使用此属性。WebAuth 对话框显示 PIN 请求对话框。用户需要输入 PIN 并调用setPin() 才能继续。

访问功能:

QWebEngineWebAuthPinRequest pinRequest() const

另请参阅 QWebEngineWebAuthPinRequest,CollectPin, 和setPin() 。

[read-only] relyingPartyId : const QString

此属性包含 WebAuth 请求的依赖方 ID。

访问功能:

QString relyingPartyId() const

[read-only] requestFailureReason : const RequestFailureReason

此属性包含 WebAuth 请求的失败原因。

访问功能:

QWebEngineWebAuthUxRequest::RequestFailureReason requestFailureReason() const

另请参阅 stateChanged() 和QWebEngineWebAuthUxRequest::RequestFailureReason

[read-only] state : const WebAuthUxState

该属性保存 WebAuth 请求的当前用户体验状态。

stateChanged(当当前状态发生变化时,会发出()。根据状态变化更新 WebAuth 对话框。

访问功能:

QWebEngineWebAuthUxRequest::WebAuthUxState state() const

Notifier 信号:

void stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)

[read-only] userNames : const QStringList

此属性包含常驻凭证支持的可用用户名。当前 WebAuth 请求的用户体验状态为SelectAccount 时需要使用此属性。WebAuth 对话框会显示用户名。用户需要选择一个账户才能继续。

访问功能:

QStringList userNames() const

另请参阅 SelectAccountsetSelectedAccount() 。

成员函数文档

[slot] void QWebEngineWebAuthUxRequest::cancel()

取消当前 WebAuth 请求。

另请参阅 QWebEngineWebAuthUxRequest::CancelledstateChanged()。

[slot] void QWebEngineWebAuthUxRequest::retry()

重试当前 WebAuth 请求。

另请参阅 stateChanged()。

[slot] void QWebEngineWebAuthUxRequest::setPin(const QString &pin)

向验证器发送pin ,提示输入 PIN 码。当当前 WebAuth 请求的用户体验状态为CollectPin 时,就需要这样做。在用户回复 PIN 之前,WebAuth 请求将被阻止。

另请参阅 QWebEngineWebAuthPinRequestCollectPin

[slot] void QWebEngineWebAuthUxRequest::setSelectedAccount(const QString &selectedAccount)

向验证器发送selectedAccount 名称。当当前 WebAuth 请求的用户体验状态为SelectAccount 时,需要使用此方法。在用户选择账户并调用此方法之前,WebAuth 请求将被阻止。

另请参阅 userNamesSelectAccount

[signal] void QWebEngineWebAuthUxRequest::stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)

每当 WebAuth UX 的state 发生变化时,就会发出该信号。

注: 用于state 属性的通知信号。

另请参阅 stateWebAuthUxState

© 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.