class QAbstractOAuth#

QAbstractOAuth 类是所有OAuth认证方法实现的基础。 更多

Inheritance diagram of PySide6.QtNetworkAuth.QAbstractOAuth

继承自: QOAuth1, QAbstractOAuth2, QOAuth2AuthorizationCodeFlow

概要#

属性#

方法#

虚方法#

信号#

静态函数#

注意

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

详细描述#

此类定义了 OAuth 认证类的基接口。通过继承此类,您可以为不同的网络服务创建自定义认证方法。

此外,它还包含了一些简化不同认证流程实现的函数。

class Status#

表示当前的认证状态。

常量

描述

QAbstractOAuth.Status.NotAuthenticated

未检索到任何令牌。

QAbstractOAuth.Status.TemporaryCredentialsReceived

已接收到临时凭证,该状态用于某些OAuth认证方法中。

QAbstractOAuth.Status.Granted

已接收到并验证了令牌凭证,允许执行认证调用。

QAbstractOAuth.Status.RefreshingToken

已请求新的令牌凭证。

class Stage#

标识认证阶段。作为一个 modifyParametersFunction 的参数,以便在身份验证过程中对每个调用进行不同的参数更改。

常量

描述

QAbstractOAuth.Stage.RequestingTemporaryCredentials

准备临时凭证请求。

QAbstractOAuth.Stage.RequestingAuthorization

准备授权授予URL。

QAbstractOAuth.Stage.RequestingAccessToken

准备令牌请求。

QAbstractOAuth.Stage.RefreshingAccessToken

准备访问令牌刷新。

class Error#

表示最近接收到的错误。

常量

描述

QAbstractOAuth.Error.NoError

没有错误发生。

QAbstractOAuth.Error.NetworkError

无法连接到服务器。

QAbstractOAuth.Error.ServerError

服务器以错误响应请求,或者其响应未成功接收(例如,由于状态不匹配)。

QAbstractOAuth.Error.OAuthTokenNotFoundError

服务器对令牌请求的响应未提供令牌标识符。

QAbstractOAuth.Error.OAuthTokenSecretNotFoundError

服务器对令牌请求的响应未提供令牌密钥。

QAbstractOAuth.Error.OAuthCallbackNotVerified

授权服务器未验证请求中提供的回叫URI。这通常发生在提供的回叫与在客户端注册期间提供的回叫不匹配时。

class ContentType#

表示认证调用中POST方法的MIME内容类型。

常量

描述

QAbstractOAuth.ContentType.WwwFormUrlEncoded

使用application/x-www-form-urlencoded格式。

QAbstractOAuth.ContentType.Json

使用application/json格式。

注意

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

property authorizationUrl: QUrl#

该属性持有所使用的URL,用于请求资源所有者授权,具体请参见:OAuth 1.0 协议:资源所有者授权

访问函数
属性 clientIdentifier: str#
访问函数
属性 contentType: QAbstractOAuth.ContentType#

该属性保存发送授权参数时要使用的 Content-Type。

此属性控制参数在随 POST 请求发送时的格式化方式。还会添加适当的头部。

访问函数
属性 extraTokens: 字典,键的类型为 .QString,值的类型为 QVariant#

该属性保存从服务器收到的额外令牌。

访问函数
属性 status: QAbstractOAuth.Status#

该属性保存当前的认证状态。

访问函数
属性 token: str#
访问函数
authorizationUrl()#
返回类型::

QUrl

返回授权请求的 URL。

属性 authorizationUrl 的获取器。

authorizationUrlChanged(url)#
参数::

urlQUrl

属性 authorizationUrl 的通知信号。

authorizeWithBrowser(url)#
参数::

urlQUrl

当由 resourceOwnerAuthorization() 生成的 url 准备在网页浏览器中使用时,允许应用程序模拟用户。

callback()#
返回类型::

str

返回当前与当前回复处理程序对应的回调字符串。返回的字符串是发送到服务器以指定回调 URI 的字符串,或在无头设备中识别替代方法的单词。

clientIdentifier()#
返回类型::

str

返回当前在认证过程中使用的客户端标识符。

属性 clientIdentifier 的获取器。

clientIdentifierChanged(clientIdentifier)#
参数::

clientIdentifier – str

属性 clientIdentifier 的通知信号。

contentType()#
返回类型::

ContentType

返回当前在认证调用中使用的 Content-Type。

属性 contentType 的获取器。

contentTypeChanged(contentType)#
参数::

contentTypeContentType

属性 contentType 的通知信号。

abstract deleteResource(url[, parameters=QVariantMap()])#
参数::
  • urlQUrl

  • parameters – 键类型为 .QString,值类型为 QVariant 的字典。

返回类型::

QNetworkReply

发送一个认证的 DELETE 请求并返回一个新的 QNetworkReply。使用 urlparameters 创建请求。

另请参阅超文本传输协议 – HTTP/1.1: DELETE

extraTokens()#
返回类型::

键类型为 .QString,值类型为 QVariant 的字典。

返回认证期间从服务器收到的额外令牌。

属性 extraTokens 的获取器。

extraTokensChanged(tokens)#
参数::

tokens – 键类型为 .QString,值类型为 QVariant 的字典。

属性 extraTokens 的通知信号。

finished(reply)#
参数::

replyQNetworkReply

static generateRandomString(length)#
参数::

length – int

返回类型::

QByteArray

生成一个随机字符串,该字符串可以用作状态或nonce。参数 length 决定了生成的字符串大小。

另请参阅OAuth 1.0 协议:Nonce 和 Timestamp

abstract get(url[, parameters=QVariantMap()])#
参数::
  • urlQUrl

  • parameters – 键类型为 .QString,值类型为 QVariant 的字典。

返回类型::

QNetworkReply

发送一个认证的 GET 请求并返回一个新的 QNetworkReply。使用 urlparameters 创建请求。

另请参阅超文本传输协议 – HTTP/1.1: GET

摘要 授权()#

覆盖此函数以在子类中实现相应的认证流程。客户端代码调用此函数以启动认证工作流程。这可能需要用户交互:例如,通过网页浏览器请求用户的授权。认证成功后,应发射 granted();这表示凭证已准备好在认证调用中使用。

granted()#

当授权流程成功完成时,会发射这个信号。

摘要 head(url[, parameters=QVariantMap()])#
参数::
  • urlQUrl

  • parameters – 键类型为 .QString,值类型为 QVariant 的字典。

返回类型::

QNetworkReply

发送一个认证的HEAD请求并返回一个新的QNetworkReply。使用urlparameters来创建请求。

另见超文本传输协议 – HTTP/1.1:HEAD

networkAccessManager()#
返回类型::

QNetworkAccessManager

返回用于在认证流程期间向服务器发送请求或进行认证调用的当前网络访问管理器。

抽象 post(url[, parameters=QVariantMap()])#
参数::
  • urlQUrl

  • parameters – 键类型为 .QString,值类型为 QVariant 的字典。

返回类型::

QNetworkReply

发送一个认证的POST请求并返回一个新QNetworkReply。使用urlparameters来创建请求。

另见超文本传输协议 – HTTP/1.1:POST

抽象 prepareRequest(request, verb[, body=QByteArray()])#
参数::

通过向给定的 request 添加必要的头部和 body 来授权它,以进行认证请求。

verb 必须是有效的 HTTP 动词,并且与将要用来发送 request 的动词相同。

abstract put(url[, parameters=QVariantMap()])#
参数::
  • urlQUrl

  • parameters – 键类型为 .QString,值类型为 QVariant 的字典。

返回类型::

QNetworkReply

发送一个认证的 PUT 请求并返回一个新 QNetworkReply。使用 urlparameters 来创建请求。

另请参阅: 超文本传输协议 – HTTP/1.1: PUT

replyDataReceived(data)#
参数::

数据QByteArray

replyHandler()#
返回类型::

QAbstractOAuthReplyHandler

返回目前正在使用的回复处理程序。

requestFailed(error)$#
参数::

错误Error

当请求服务器失败时,会发出此信号。提供的 error 表示请求是如何失败的。

resourceOwnerAuthorization(url, parameters)#
参数::
  • urlQUrl

  • 参数 – .QMultiMapQString,QVariant

构建用于在网页浏览器中的资源所有者授权URL:使用url作为基本URL,使用parameters创建查询。当URL准备就绪时,将发出authorizeWithBrowser()信号,其中包含生成的URL。

setAuthorizationUrl(url)#
参数::

urlQUrl

将授权请求URL设置为url。该地址将用于允许用户授权应用以代表用户进行认证调用。

属性authorizationUrl的设置器。

setClientIdentifier(clientIdentifier)#
参数::

clientIdentifier – str

将当前客户端标识符设置为clientIdentifier

clientIdentifier属性的设置器。

setContentType(contentType)#
参数::

contentTypeContentType

将当前Content-Type设置为contentType

参见

contentType()

contentType属性的设置器。

setModifyParametersFunction(modifyParametersFunction)#
参数::

modifyParametersFunction – 对象

setNetworkAccessManager(networkAccessManager)#
参数::

networkAccessManagerQNetworkAccessManager

将网络管理器设置为networkAccessManager。PySide6.QtNetworkAuth.QAbstractOAuth不会获取networkAccessManager的所有权。如果没有设置自定义网络访问管理器,将使用内部网络访问管理器。此网络访问管理器将用于向认证服务器和向网络服务进行认证请求。

setReplyHandler(handler)#
参数::

handlerQAbstractOAuthReplyHandler

设置当前的回复处理程序为 handler

注意

不拥有 handler

setStatus(status)#
参数::

statusStatus

设置当前状态为 status。此方法供基于 QAbstractOAuth 的类使用。

参见

status()

setToken(token)#
参数::

token – str

设置用于签名认证请求数据的令牌为 token

参见

token()

属性 token 的设置器。

status()#
返回类型::

状态

返回当前的认证状态。

属性 status 的获取器。

statusChanged(status)#
参数::

statusStatus

属性 status 的通知信号。

token()#
返回类型::

str

返回用于签名认证请求数据的令牌。

参见

setToken()

属性 token 的获取器。

tokenChanged(token)#
参数::

token – str

属性 token 的通知信号。