QWebEngineWebAuthUxRequest 类

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

头文件 #include <QWebEngineWebAuthUxRequest>
CMakefind_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmakeQT += 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 }

属性

公共函数

QWebEngineWebAuthPinRequestpinRequest() const
QStringrelyingPartyId() const
QWebEngineWebAuthUxRequest::RequestFailureReasonrequestFailureReason() const
QWebEngineWebAuthUxRequest::WebAuthUxStatestate() const
QStringListuserNames() const

公共槽函数

voidcancel()
voidretry()
voidsetPin(const QString &pin)
voidsetSelectedAccount(const QString &selectedAccount)

信号

voidstateChanged(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::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::KeyAlready Registered2密钥已在验证器中注册。尝试使用另一个密钥或使用另一个验证器进行注册。
QWebEngineWebAuthUxRequest::RequestFailureReason::SoftPinBlock3由于用户多次输入错误键,验证器被锁定。
QWebEngineWebAuthUxRequest::RequestFailureReason::HardPinBlock4由于用户多次输入错误键并将PIN重置,验证器被锁定,以便再次使用特定验证器。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorRemovedDuringPinEntry5在输入PIN期间移除了验证器。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingResidentKeys6验证器不支持驻留密钥。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingUserVerification7验证器不支持用户验证。
QWebEngineWebAuthUxRequest::RequestFailureReason::AuthenticatorMissingLargeBlob8验证器不支持大Blob。
QWebEngineWebAuthUxRequest::RequestFailureReason::NoCommonAlgorithms9没有公共算法。
QWebEngineWebAuthUxRequest::RequestFailureReason::StorageFull10无法创建居民凭证,因为认证器存储空间不足。
QWebEngineWebAuthUxRequest::RequestFailureReason::UserConsentDenied11用户拒绝同意。
QWebEngineWebAuthUxRequest::RequestFailureReason::WinUserCancelled12用户在原生窗口UI中点击了取消

枚举类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对话框。

属性说明

[只读] pinRequest : const QWebEngineWebAuthPinRequest

该属性包含WebAuth请求的PIN请求信息。

当当前WebAuth请求状态为CollectPin时需要此信息。WebAuth对话框显示PIN请求对话框。用户需要输入PIN并调用setPin()以继续。

访问函数

QWebEngineWebAuthPinRequestpinRequest() const

另请参阅QWebEngineWebAuthPinRequestCollectPinsetPin

[只读] relyingPartyId : const QString

该属性包含WebAuth请求的受信方ID。

访问函数

QStringrelyingPartyId() const

[只读] requestFailureReason : const RequestFailureReason

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

访问函数

QWebEngineWebAuthUxRequest::RequestFailureReasonrequestFailureReason() const

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

[只读] state : const WebAuthUxState

该属性包含WebAuth请求当前的UX状态。

stateChanged()在当前状态改变时发出。根据状态的改变更新WebAuth对话框。

访问函数

QWebEngineWebAuthUxRequest::WebAuthUxStatestate() const

通知器信号

voidstateChanged(QWebEngineWebAuthUxRequest::WebAuthUxState state)

[只读] userNames : const QStringList

该属性包含用于居住凭证支持的可用用户名。当当前的 WebAuth 请求的 UX 状态是 SelectAccount 时,需要该属性。WebAuth 对话框显示用户名。用户需要选择一个账户才能继续。

访问函数

QStringListuserNames() 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 请求的 UX 状态是 CollectPin 时,需要此操作。WebAuth 请求将在用户响应 PIN 后解除阻塞。

另请参阅QWebEngineWebAuthPinRequestCollectPin

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

selectedAccount名称发送到验证器。当当前的 WebAuth 请求的 UX 状态是 SelectAccount 时,需要此操作。WebAuth 请求将在用户选择一个账户并调用此方法后解除阻塞。

另请参阅userNamesSelectAccount

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

每当 WebAuth UX 的state改变时,就会发出此信号。

注意:属性 state 的通知器信号。

另请参阅stateWebAuthUxState

© 2024 Qt 公司有限公司。本文件中包含的文档贡献的版权归其各自的所有者。本文件提供的内容是根据 Free Software Foundation 发布的 GNU 自由文档许可证第 1.3 版本许可的。Qt 及其相应标志是芬兰的 Qt 公司有限公司和/或其他国家的商标。所有其他商标为各自所有者的财产。