PySide6.QtNetworkAuth.QOAuth2授权码流程

class QOAuth2AuthorizationCodeFlow

QOAuth2AuthorizationCodeFlow 类提供了 Authorization Code Grant 流程的实现。更多

PySide6.QtNetworkAuth.QOAuth2AuthorizationCodeFlow 的继承图

概要

属性

  • accessTokenUrlᅟ - 此属性保存用于转换在授权响应期间接收到的临时代码的URL

方法

插槽

信号

注意

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

详细描述

该类实现了Authorization Code Grant流程,该流程用于获取和刷新访问令牌。这是一个基于重定向的流程,因此用户需要访问网络浏览器。

作为一个基于重定向的流程,此类需要设置一个适当的回复处理程序。请参阅 Qt OAuth2 概述QOAuthHttpServerReplyHandlerQOAuthUriSchemeReplyHandler

class PkceMethod

可用的Proof Key for Code Exchange (PKCE) 方法列表。

PKCE 是一种安全措施,用于减轻授权代码拦截攻击的风险。因此,它与 OAuth2 的“授权代码”流程(授权)相关,特别是与原生应用程序相关。

PKCE 在授权和访问令牌请求中插入额外的参数。通过这些参数的帮助,授权服务器能够验证访问令牌请求是否源自发出授权请求的同一实体。

常量

描述

QOAuth2AuthorizationCodeFlow.PkceMethod.None

未使用PKCE。

QOAuth2AuthorizationCodeFlow.PkceMethod.Plain

使用了Plain PKCE方法。只有在无法使用S256时才使用此方法。使用Plain方法时,code challenge等于code verifier

QOAuth2AuthorizationCodeFlow.PkceMethod.S256

使用了S256 PKCE方法。这是原生应用程序的默认和推荐方法。使用S256方法时,code challengecode verifier的SHA-256的base64url编码值。

在版本6.8中添加。

注意

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

property accessTokenUrlᅟ: QUrl

此属性保存用于转换在授权响应期间接收到的临时代码的URL。

另请参阅: Access Token Request

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

构造一个带有父对象 parentQOAuth2AuthorizationCodeFlow 对象。

__init__(manager[, parent=None])
Parameters:

使用parent作为父对象构造一个QOAuth2AuthorizationCodeFlow对象,并将manager设置为网络访问管理器。

__init__(clientIdentifier, manager[, parent=None])
Parameters:

使用parent作为父对象构造一个QOAuth2AuthorizationCodeFlow对象,并将manager设置为网络访问管理器。客户端标识符设置为clientIdentifier

__init__(authorizationUrl, accessTokenUrl, manager[, parent=None])
Parameters:

使用parent作为父对象构造一个QOAuth2AuthorizationCodeFlow对象,并将manager设置为网络访问管理器。认证URL设置为authenticateUrl,访问令牌URL设置为accessTokenUrl

__init__(clientIdentifier, authorizationUrl, accessTokenUrl, manager[, parent=None])
Parameters:

使用parent作为父对象构造一个QOAuth2AuthorizationCodeFlow对象,并将manager设置为网络访问管理器。客户端标识符设置为clientIdentifier,认证URL设置为authenticateUrl,访问令牌URL设置为accessTokenUrl

accessTokenUrl()
Return type:

QUrl

返回用于请求访问令牌的URL。

另请参阅

setAccessTokenUrl()

属性 accessTokenUrlᅟ 的获取器。

accessTokenUrlChanged(accessTokenUrl)
Parameters:

accessTokenUrlQUrl

属性 accessTokenUrlᅟ 的通知信号。

buildAuthenticateUrl([parameters={}])
Parameters:

参数 – .QMultiMapQString,QVariant

Return type:

QUrl

生成一个用于授权请求的认证URL,使用parameters

pkceMethod()
Return type:

PkceMethod

返回当前的PKCE方法。

refreshAccessToken()

调用此函数以刷新令牌。访问令牌不是永久性的。在获取访问令牌时指定的时间后,访问令牌将失效。

如果刷新令牌失败且存在访问令牌,状态将设置为Granted,否则设置为NotAuthenticated

requestAccessToken(code)
Parameters:

code – str

从接收到的code请求访问令牌。当用户在浏览器中成功完成身份验证时,code会作为响应接收。

setAccessTokenUrl(accessTokenUrl)
Parameters:

accessTokenUrlQUrl

将用于请求访问令牌的URL设置为accessTokenUrl

另请参阅

accessTokenUrl()

属性 accessTokenUrlᅟ 的设置器。

setPkceMethod(method[, length=43])
Parameters:

将当前的PKCE方法设置为method

可选地,length参数可用于设置code_verifier的长度。该值必须在43到128字节之间。‘code verifier’本身是由库随机生成的。

另请参阅

pkceMethod() PkceMethod