QWebEngineWebAuthUxRequest 类
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 |
实例化方式 | WebEngineWebAuthUxRequest |
继承自 | QObject |
公共类型
枚举类 | PinEntryError { NoError, InternalUvLocked, WrongPin, TooShort, InvalidCharacters, SameAsCurrentPin } |
枚举类 | PinEntryReason { Set, Change, Challenge } |
枚举类 | RequestFailureReason { Timeout, KeyNotRegistered, KeyAlreadyRegistered, SoftPinBlock, HardPinBlock, …, WinUserCancelled } |
枚举类 | 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目前支持用户验证、驻留凭证和显示请求失败UX请求。
QWebEngineWebAuthUxRequest模型在整个生命周期中模拟WebAuth UX请求,从显示UX对话框,通过状态更改更新其内容,到最后关闭对话框。
当验证器需要用户交互时,通常触发WebAuth UX请求。它是QWebEnginePage的责任通知应用程序新的WebAuth UX请求,它通过触发webAuthUxRequested信号来实现,并附带新创建的QWebEngineWebAuthUxRequest。然后应用程序可以检查此请求并显示WebAuth UX对话框。
定期发射stateChanged信号来通知潜在观察者当前的WebAuth UX状态。观察者相应地更新WebAuth对话框。
有关如何处理网页验证器请求的更多信息,请参阅Simple Browser。
成员类型文档
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::KeyAlready Registered | 2 | 密钥已在验证器中注册。尝试使用另一个密钥或使用另一个验证器进行注册。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::SoftPinBlock | 3 | 由于用户多次输入错误键,验证器被锁定。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::HardPinBlock | 4 | 由于用户多次输入错误键并将PIN重置,验证器被锁定,以便再次使用特定验证器。 |
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorRemovedDuringPinEntry | 5 | 在输入PIN期间移除了验证器。 |
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 | 用户在原生窗口UI中点击了取消。 |
枚举类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对话框。 |
属性说明
[只读]
pinRequest : const QWebEngineWebAuthPinRequest
该属性包含WebAuth请求的PIN请求信息。
当当前WebAuth请求状态为CollectPin时需要此信息。WebAuth对话框显示PIN请求对话框。用户需要输入PIN并调用setPin()以继续。
访问函数
QWebEngineWebAuthPinRequest | pinRequest() const |
另请参阅QWebEngineWebAuthPinRequest、CollectPin和setPin。
[只读]
relyingPartyId : const QString
该属性包含WebAuth请求的受信方ID。
访问函数
QString | relyingPartyId() const |
[只读]
requestFailureReason : const RequestFailureReason
该属性包含WebAuth请求的失败原因。
访问函数
QWebEngineWebAuthUxRequest::RequestFailureReason | requestFailureReason() const |
另请参阅stateChanged()和QWebEngineWebAuthUxRequest::RequestFailureReason。
[只读]
state : const WebAuthUxState
该属性包含WebAuth请求当前的UX状态。
stateChanged()在当前状态改变时发出。根据状态的改变更新WebAuth对话框。
访问函数
QWebEngineWebAuthUxRequest::WebAuthUxState | state() const |
通知器信号
void | stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state) |
[只读]
userNames : const QStringList
该属性包含用于居住凭证支持的可用用户名。当当前的 WebAuth 请求的 UX 状态是 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 请求的 UX 状态是 CollectPin 时,需要此操作。WebAuth 请求将在用户响应 PIN 后解除阻塞。
另请参阅QWebEngineWebAuthPinRequest 和 CollectPin。
[slot]
void QWebEngineWebAuthUxRequest::setSelectedAccount(const QString &selectedAccount)
将selectedAccount名称发送到验证器。当当前的 WebAuth 请求的 UX 状态是 SelectAccount 时,需要此操作。WebAuth 请求将在用户选择一个账户并调用此方法后解除阻塞。
另请参阅userNames 和 SelectAccount。
[signal]
void QWebEngineWebAuthUxRequest::stateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)
每当 WebAuth UX 的state改变时,就会发出此信号。
注意:属性 state 的通知器信号。
另请参阅state 和 WebAuthUxState。
© 2024 Qt 公司有限公司。本文件中包含的文档贡献的版权归其各自的所有者。本文件提供的内容是根据 Free Software Foundation 发布的 GNU 自由文档许可证第 1.3 版本许可的。Qt 及其相应标志是芬兰的 Qt 公司有限公司和/或其他国家的商标。所有其他商标为各自所有者的财产。