class QWebEngineWebAuthUxRequest#

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

Inheritance diagram of PySide6.QtWebEngineCore.QWebEngineWebAuthUxRequest

自 6.7 版本开始引入。

概要#

属性#

  • pinRequestᅟ - WebAuth请求的PIN请求信息

  • relyingPartyIdᅟ - WebAuth请求的信赖方id

  • requestFailureReasonᅟ - WebAuth请求的失败原因

  • stateᅟ - WebAuth请求当前的UX状态

  • userNamesᅟ - 支持的凭证的可用用户名。当当前WebAuth请求的UX状态是“选择账户”时,需要这个。WebAuth对话框会显示用户名。用户需要选择一个账户才能继续

方法#

槽(a class="headerlink" href="#slots" title="链接到本标题">#)

信号(a class="headerlink" href="#signals" title="链接到本标题">#)

注意

此文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您还可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们

详细说明#

此类包含WebAuth UX信息和API。在身份验证过程中,WebAuth可能需要用户交互。这些请求通过显示对话框来处理。《a class="reference external" href="https://doc.qt.ac.cn/qt-6/qtwebengine-qmlmodule.html">QtWebEngine

QWebEngineWebAuthUxRequest在生命周期内模拟整个WebAuth UX请求,从显示UX对话框开始,通过状态变化更新其内容,最后关闭对话框。

当验证器需要用户交互时,通常会导致WebAuth UX请求。QWebEnginePage有责任通知应用程序新的WebAuth UX请求,通过同时发出webAuthUxRequested信号和一个新创建的QWebEngineWebAuthUxRequest来执行此操作。然后应用程序可以检查此请求并显示WebAuth UX对话框。

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

有关如何处理Web引擎验证器请求的更多信息,请参阅《span class="xref std std-ref">简单浏览器。

class WebAuthUxState#

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

常量

描述

QWebEngineWebAuthUxRequest.WebAuthUxState.NotStarted

WebAuth UX请求尚未开始。

QWebEngineWebAuthUxRequest.WebAuthUxState.SelectAccount

验证器需要住民凭据详情。应用程序需要显示账户详情对话框,并且用户需要选择一个账户以继续。

QWebEngineWebAuthUxRequest.WebAuthUxState.CollectPin

验证器需要用户验证。应用程序需要显示PIN请求对话框。

QWebEngineWebAuthUxRequest.WebAuthUxState.FinishTokenCollection

验证器需要令牌/用户验证(如敲击FIDO密钥)以完成此过程。

QWebEngineWebAuthUxRequest.WebAuthUxState.RequestFailed

WebAuth请求失败。显示错误详情。

QWebEngineWebAuthUxRequest.WebAuthUxState.Cancelled

WebAuth请求已取消。关闭WebAuth对话框。

QWebEngineWebAuthUxRequest.WebAuthUxState.Completed

WebAuth请求已完成。关闭WebAuth对话框。

class PinEntryReason#

此枚举描述了可能提示验证器请求PIN的原因。

常量

描述

QWebEngineWebAuthUxRequest.PinEntryReason.Set

正在设置新的PIN。

QWebEngineWebAuthUxRequest.PinEntryReason.Change

在使用此验证器之前必须更改现有PIN。

QWebEngineWebAuthUxRequest.PinEntryReason.Challenge

正在收集现有PIN以证明用户验证。

class PinEntryError#

此枚举描述了可能触发验证器请求 PIN 的错误。

常量

描述

QWebEngineWebAuthUxRequest.PinEntryError.NoError

未发生错误。

QWebEngineWebAuthUxRequest.PinEntryError.InternalUvLocked

内部 UV 被锁定,因此我们正在回退到 PIN。

QWebEngineWebAuthUxRequest.PinEntryError.WrongPin

用户输入的 PIN 与验证器 PIN 不匹配。

QWebEngineWebAuthUxRequest.PinEntryError.TooShort

用户输入的新 PIN 过短。

QWebEngineWebAuthUxRequest.PinEntryError.InvalidCharacters

用户输入的新 PIN 包含无效字符。

QWebEngineWebAuthUxRequest.PinEntryError.SameAsCurrentPin

用户输入的新 PIN 与当前设置的 PIN 相同。

class RequestFailureReason#

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

常量

描述

QWebEngineWebAuthUxRequest.RequestFailureReason.Timeout

认证会话已超时。

QWebEngineWebAuthUxRequest.RequestFailureReason.KeyNotRegistered

密钥未在验证器中注册。

QWebEngineWebAuthUxRequest.RequestFailureReason.KeyAlreadyRegistered

密钥已在验证器中注册。尝试使用其他密钥或使用其他验证器进行注册。

QWebEngineWebAuthUxRequest.RequestFailureReason.SoftPinBlock

由于用户多次输入错误密钥,验证器已被锁定。

QWebEngineWebAuthUxRequest.RequestFailureReason.HardPinBlock

由于用户多次输入错误密钥并将 PIN 重置为使用特定验证器再次,验证器被锁定。

QWebEngineWebAuthUxRequest.RequestFailureReason.AuthenticatorRemovedDuringPinEntry

在输入 PIN 时移除了验证器。

QWebEngineWebAuthUxRequest.RequestFailureReason.AuthenticatorMissingResidentKeys

验证器不支持驻留密钥。

QWebEngineWebAuthUxRequest.RequestFailureReason.AuthenticatorMissingUserVerification

验证器不支持用户验证。

QWebEngineWebAuthUxRequest.RequestFailureReason.AuthenticatorMissingLargeBlob

验证器不支持大 Blob。

QWebEngineWebAuthUxRequest.RequestFailureReason.NoCommonAlgorithms

没有公共算法。

QWebEngineWebAuthUxRequest.RequestFailureReason.StorageFull

由于验证器存储不足,无法创建驻留凭证。

QWebEngineWebAuthUxRequest.RequestFailureReason.UserConsentDenied

用户拒绝了同意。

QWebEngineWebAuthUxRequest.RequestFailureReason.WinUserCancelled

用户在原生窗口 UI 中单击了取消。

注意

当使用 from __feature__ import true_property 时可以直接使用属性,否则通过访问器函数。

property pinRequestᅟ: QWebEngineWebAuthPinRequest#

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

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

访问函数
属性relyingPartyId: str#

此属性存储 WebAuth 请求的 relying party ID。

访问函数
属性requestFailureReason: QWebEngineWebAuthUxRequest.RequestFailureReason#

此属性存储 WebAuth 请求的失败原因。

访问函数
属性state: QWebEngineWebAuthUxRequest.WebAuthUxState#

此属性存储当前 WebAuth 请求的 UX 状态。

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

访问函数
属性userNames: 字符串列表#

此属性存储为居民凭证支持提供的可用用户名。当当前 WebAuth 请求的 UX 状态为 SelectAccount 时需要该属性。WebAuth 对话框显示用户名。用户需要选择一个账户以继续。

访问函数
cancel()#

取消当前的WebAuth请求。

另请参阅

Cancelled stateChanged()

pinRequest()#
返回类型:

QWebEngineWebAuthPinRequest

属性 pinRequest 的获取器。

relyingPartyId()#
返回类型:

str

属性 relyingPartyId 的获取器。

requestFailureReason()#
返回类型:

RequestFailureReason

属性 requestFailureReason 的获取器。

retry()#

重试当前的WebAuth请求。

另请参阅

stateChanged()

setPin(pin)#
参数:

pin – str

将PIN发送到提示输入PIN的认证器。当前WebAuth请求的UX状态为CollectPin 时,此操作是必需的。WebAuth请求将被阻塞,直到用户响应PIN。

setSelectedAccount(selectedAccount)#
参数:

selectedAccount – str

将选择的账号名称发送到认证器。当前WebAuth请求的UX状态为SelectAccount 时,此操作是必需的。WebAuth请求将被阻塞,直到用户选择一个账号并调用此方法。

另请参阅

userNames SelectAccount

状态()#
返回类型:

WebAuthUxState

属性 state 的获取器。

stateChanged(状态)#
参数:

状态WebAuthUxState

每当WebAuth UX的状态发生更改时,都会发出此信号。

另请参阅

state WebAuthUxState

属性 state 的通知信号。

用户名()#
返回类型:

字符串列表

属性 userNames 的获取器。