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::NoError | 0 | 未发生错误。 |
QWebEngineWebAuthUxRequest::PinEntryError::InternalUvLocked | 1 | 内部 UV 已锁定,因此我们退回到 PIN。 |
QWebEngineWebAuthUxRequest::PinEntryError::WrongPin | 2 | 用户输入的 PIN 与身份验证 PIN 不匹配。 |
QWebEngineWebAuthUxRequest::PinEntryError::TooShort | 3 | 用户输入的新 PIN 太短。 |
QWebEngineWebAuthUxRequest::PinEntryError::InvalidCharacters | 4 | 用户输入的新 PIN 码包含无效字符。 |
QWebEngineWebAuthUxRequest::PinEntryError::SameAsCurrentPin | 5 | 用户输入的新 PIN 码与当前设置的 PIN 码相同。 |
enum class QWebEngineWebAuthUxRequest::PinEntryReason
该枚举描述了可能促使身份验证器要求输入 PIN 码的原因。
常量 | 值 | 说明 |
---|---|---|
QWebEngineWebAuthUxRequest::PinEntryReason::Set | 0 | 正在设置新 PIN 码。 |
QWebEngineWebAuthUxRequest::PinEntryReason::Change | 1 | 使用此身份验证器前必须更改现有 PIN 码。 |
QWebEngineWebAuthUxRequest::PinEntryReason::Challenge | 2 | 正在收集现有 PIN 码,以证明用户已通过验证。 |
enum class QWebEngineWebAuthUxRequest::RequestFailureReason
该枚举描述了 WebAuth 请求失败的原因。
常量 | 值 | 说明 |
---|---|---|
QWebEngineWebAuthUxRequest::RequestFailureReason::Timeout | 0 | 身份验证会话超时。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::KeyNotRegistered | 1 | 密钥未在身份验证器上注册。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::KeyAlreadyRegistered | 2 | 密钥已在验证机上注册。尝试用另一个密钥注册或使用另一个身份验证器。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::SoftPinBlock | 3 | 由于用户多次输入错误密钥,身份验证器被阻止。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::HardPinBlock | 4 | 由于用户多次输入错误密钥,认证器被阻止,因此重置密码以再次使用特定认证器。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorRemovedDuringPinEntry | 5 | 验证器在输入密码时被移除。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingResidentKeys | 6 | 身份验证器不支持常驻密钥。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingUserVerification | 7 | 身份验证器不支持用户验证。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingLargeBlob | 8 | 身份验证器不支持大 Blob。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::NoCommonAlgorithms | 9 | 无通用算法。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::StorageFull | 10 | 由于身份验证器存储空间不足,无法创建常驻凭证。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::UserConsentDenied | 11 | 拒绝用户同意。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::WinUserCancelled | 12 | 用户在本地 Windows UI 中单击Cancel 。 |
enum class QWebEngineWebAuthUxRequest::WebAuthUxState
该枚举描述当前 WebAuth UX 请求的状态。
常量 | 值 | 说明 |
---|---|---|
QWebEngineWebAuthUxRequest::WebAuthUxState::NotStarted | 0 | WebAuth UX 请求尚未启动。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::SelectAccount | 1 | 身份验证器需要常驻凭据详细信息。应用程序需要显示账户详细信息对话框,用户需要选择一个账户才能继续。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::CollectPin | 2 | 身份验证器需要用户验证。应用程序需要显示 PIN 请求对话框。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::FinishTokenCollection | 3 | 身份验证器需要令牌/用户验证(如点击 FIDO 密钥)才能完成流程。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::RequestFailed | 4 | WebAuth 请求失败。显示错误详情。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::Cancelled | 5 | WebAuth 请求已取消。关闭 WebAuth 对话框。 |
QWebEngineWebAuthUxRequest::WebAuthUxState::Completed | 6 | WebAuth 请求已完成。关闭 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 |
另请参阅 SelectAccount 和setSelectedAccount() 。
成员函数文档
[slot]
void QWebEngineWebAuthUxRequest::cancel()
取消当前 WebAuth 请求。
另请参阅 QWebEngineWebAuthUxRequest::Cancelled 和stateChanged()。
[slot]
void QWebEngineWebAuthUxRequest::retry()
重试当前 WebAuth 请求。
另请参阅 stateChanged()。
[slot]
void QWebEngineWebAuthUxRequest::setPin(const QString &pin)
向验证器发送pin ,提示输入 PIN 码。当当前 WebAuth 请求的用户体验状态为CollectPin 时,就需要这样做。在用户回复 PIN 之前,WebAuth 请求将被阻止。
另请参阅 QWebEngineWebAuthPinRequest 和CollectPin 。
[slot]
void QWebEngineWebAuthUxRequest::setSelectedAccount(const QString &selectedAccount)
向验证器发送selectedAccount 名称。当当前 WebAuth 请求的用户体验状态为SelectAccount 时,需要使用此方法。在用户选择账户并调用此方法之前,WebAuth 请求将被阻止。
另请参阅 userNames 和SelectAccount 。
[signal]
void QWebEngineWebAuthUxRequest::stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)
每当 WebAuth UX 的state 发生变化时,就会发出该信号。
注: 用于state 属性的通知信号。
另请参阅 state 和WebAuthUxState 。
© 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.