PySide6.QtNetworkAuth.QAbstractOAuth

class QAbstractOAuth

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

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,如The OAuth 1.0 Protocol: Resource Owner Authorization中所述。

Access functions:
property clientIdentifierᅟ: str
Access functions:
property contentTypeᅟ: QAbstractOAuth.ContentType

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

此属性控制在发送POST请求时参数的格式化方式。同时也会添加一个合适的头部。

Access functions:
property extraTokensᅟ: Dictionary with keys of type .QString and values of type QVariant.

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

Access functions:
property statusᅟ: QAbstractOAuth.状态

此属性保存当前的身份验证状态。

Access functions:
property tokenᅟ: str
Access functions:
authorizationUrl()
Return type:

QUrl

返回授权请求的URL。

另请参阅

setAuthorizationUrl()

获取属性 authorizationUrlᅟ 的Getter。

authorizationUrlChanged(url)
Parameters:

urlQUrl

属性 authorizationUrlᅟ 的通知信号。

authorizeWithBrowser(url)
Parameters:

urlQUrl

当由resourceOwnerAuthorization()生成的url准备好在网络浏览器中使用以允许应用程序模拟用户时,会发出此信号。

callback()
Return type:

字符串

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

clientIdentifier()
Return type:

字符串

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

另请参阅

setClientIdentifier()

属性 clientIdentifierᅟ 的获取器。

clientIdentifierChanged(clientIdentifier)
Parameters:

clientIdentifier – str

属性 clientIdentifierᅟ 的通知信号。

contentType()
Return type:

ContentType

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

另请参阅

setContentType() post()

获取属性 contentTypeᅟ 的Getter。

contentTypeChanged(contentType)
Parameters:

contentTypeContentType

属性 contentTypeᅟ 的通知信号。

abstract deleteResource(url[, parameters=QVariantMap()])
Parameters:
  • urlQUrl

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

Return type:

QNetworkReply

发送一个经过身份验证的DELETE请求并返回一个新的QNetworkReply。urlparameters用于创建请求。

另请参阅: Hypertext Transfer Protocol – HTTP/1.1: DELETE

extraTokens()
Return type:

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

返回在认证过程中从服务器接收到的额外令牌。

另请参阅

extraTokensChanged()

属性 extraTokensᅟ 的获取器。

extraTokensChanged(tokens)
Parameters:

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

属性 extraTokensᅟ 的通知信号。

finished(reply)
Parameters:

回复QNetworkReply

static generateRandomString(length)
Parameters:

长度 – int

Return type:

QByteArray

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

另请参阅: The OAuth 1.0 Protocol: Nonce and Timestamp .

abstract get(url[, parameters=QVariantMap()])
Parameters:
  • urlQUrl

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

Return type:

QNetworkReply

发送一个经过身份验证的GET请求并返回一个新的QNetworkReply。urlparameters 用于创建请求。

另请参阅: Hypertext Transfer Protocol – HTTP/1.1: GET

abstract grant()

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

granted()

当授权流程成功完成时,会发出此信号。

abstract head(url[, parameters=QVariantMap()])
Parameters:
  • urlQUrl

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

Return type:

QNetworkReply

发送一个经过身份验证的HEAD请求并返回一个新的QNetworkReply。urlparameters用于创建请求。

另请参阅: Hypertext Transfer Protocol – HTTP/1.1: HEAD

networkAccessManager()
Return type:

QNetworkAccessManager

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

abstract post(url[, parameters=QVariantMap()])
Parameters:
  • urlQUrl

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

Return type:

QNetworkReply

发送一个经过身份验证的POST请求并返回一个新的QNetworkReply。urlparameters 用于创建请求。

另请参阅: Hypertext Transfer Protocol – HTTP/1.1: POST

abstract prepareRequest(request, verb[, body=QByteArray()])
Parameters:

通过添加认证请求所需的头部和body来授权给定的request

verb 必须是一个有效的 HTTP 动词,并且与用于发送 request 的动词相同。

abstract put(url[, parameters=QVariantMap()])
Parameters:
  • urlQUrl

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

Return type:

QNetworkReply

发送一个经过身份验证的PUT请求并返回一个新的QNetworkReply。urlparameters用于创建请求。

另请参阅: Hypertext Transfer Protocol – HTTP/1.1: PUT

replyDataReceived(data)
Parameters:

数据QByteArray

replyHandler()
Return type:

QAbstractOAuthReplyHandler

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

requestFailed(error)
Parameters:

错误Error

此信号被发出以指示对服务器的请求失败。提供的error表示请求失败的原因。

resourceOwnerAuthorization(url, parameters)
Parameters:
  • urlQUrl

  • parameters – .QMultiMapQString,QVariant

构建用于网页浏览器的资源所有者授权URL:url 被用作基础URL,并使用 parameters 创建查询。当URL准备好时,将发出 authorizeWithBrowser() 信号,并附带生成的URL。

另请参阅

authorizeWithBrowser()

setAuthorizationUrl(url)
Parameters:

urlQUrl

将授权请求URL设置为url。此地址将用于允许用户授予应用程序代表用户进行认证调用的能力。

另请参阅

authorizationUrl()

属性 authorizationUrlᅟ 的设置器。

setClientIdentifier(clientIdentifier)
Parameters:

clientIdentifier – str

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

另请参阅

clientIdentifier()

属性 clientIdentifierᅟ 的设置器。

setContentType(contentType)
Parameters:

contentTypeContentType

将当前的Content-Type设置为contentType

另请参阅

contentType()

属性 contentTypeᅟ 的设置器。

setModifyParametersFunction(modifyParametersFunction)
Parameters:

modifyParametersFunction – 对象

setNetworkAccessManager(networkAccessManager)
Parameters:

networkAccessManagerQNetworkAccessManager

将网络管理器设置为networkAccessManagerQAbstractOAuth不拥有networkAccessManager的所有权。如果未设置自定义网络访问管理器,则使用内部网络访问管理器。此网络访问管理器将用于向认证服务器发出请求以及向Web服务发出认证请求。

setReplyHandler(handler)
Parameters:

handlerQAbstractOAuthReplyHandler

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

注意

不拥有handler的所有权。

另请参阅

replyHandler()

setStatus(status)
Parameters:

状态Status

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

另请参阅

status()

setToken(token)
Parameters:

token – str

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

另请参阅

token()

属性 tokenᅟ 的设置器。

status()
Return type:

状态

返回当前的身份验证状态。

另请参阅

setStatus() Status

属性 statusᅟ 的获取器。

statusChanged(status)
Parameters:

状态Status

属性 statusᅟ 的通知信号。

token()
Return type:

字符串

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

另请参阅

setToken()

属性 tokenᅟ 的获取器。

tokenChanged(token)
Parameters:

token – str

属性 tokenᅟ 的通知信号。