QOAuth2AuthorizationCodeFlow Class

QOAuth2AuthorizationCodeFlow 클래스는 인증 코드 부여 흐름의 구현을 제공합니다. 더 보기...

헤더: #include <QOAuth2AuthorizationCodeFlow>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
상속합니다: QAbstractOAuth2

공용 형

(since 6.8) enum class PkceMethod { None, Plain, S256 }

공용 함수

QOAuth2AuthorizationCodeFlow(QObject *parent = nullptr)
QOAuth2AuthorizationCodeFlow(QNetworkAccessManager *manager, QObject *parent = nullptr)
QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, QNetworkAccessManager *manager, QObject *parent = nullptr)
QOAuth2AuthorizationCodeFlow(const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)
QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)
virtual ~QOAuth2AuthorizationCodeFlow()
(until 6.13) QUrl accessTokenUrl() const
(since 6.8) QOAuth2AuthorizationCodeFlow::PkceMethod pkceMethod() const
(until 6.13) void setAccessTokenUrl(const QUrl &accessTokenUrl)
(since 6.8) void setPkceMethod(QOAuth2AuthorizationCodeFlow::PkceMethod method, qsizetype length = 43)

공용 슬롯

virtual void grant() override
(until 6.13) void refreshAccessToken()

보호된 함수

QUrl buildAuthenticateUrl(const QMultiMap<QString, QVariant> &parameters = {})
void requestAccessToken(const QString &code)

재구현된 보호 함수

virtual void resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters = {}) override

보호된 슬롯

(since 6.9) void refreshTokensImplementation()

상세 설명

이 클래스는 액세스 토큰을 획득하고 갱신하는 데 사용되는 권한 부여 코드 부여 플로우를 구현합니다. 리디렉션 기반 플로우이므로 사용자가 웹 브라우저에 액세스해야 합니다.

리디렉션 기반 플로우인 이 클래스는 적절한 응답 처리기를 설정해야 합니다. Qt OAuth2 개요, QOAuthHttpServerReplyHandler, 및 QOAuthUriSchemeReplyHandler 을 참조하십시오.

멤버 유형 문서

[since 6.8] enum class QOAuth2AuthorizationCodeFlow::PkceMethod

사용 가능한 코드 교환용 증명 키(PKCE) 방법 목록입니다.

PKCE는 인증 코드 가로채기 공격의 위험을 완화하기 위한 보안 조치입니다. 따라서 OAuth2 "권한 부여 코드" 흐름(부여), 특히 네이티브 애플리케이션과 관련이 있습니다.

PKCE는 권한 부여 및 액세스 토큰 요청에 추가 매개변수를 삽입합니다. 이러한 매개변수의 도움으로 권한 부여 서버는 액세스 토큰 요청이 권한 부여 요청을 발급한 동일한 엔터티에서 비롯된 것인지 확인할 수 있습니다.

상수설명
QOAuth2AuthorizationCodeFlow::PkceMethod::None255PKCE가 사용되지 않습니다.
QOAuth2AuthorizationCodeFlow::PkceMethod::Plain1일반 PKCE 방법이 사용됩니다. S256을 사용할 수 없는 경우에만 사용합니다. 일반 방법을 사용하면 코드 챌린지는 코드 검증기와 동일합니다.
QOAuth2AuthorizationCodeFlow::PkceMethod::S2560S256 PKCE 방법이 사용됩니다. 이 방법은 기본값이며 네이티브 애플리케이션에 권장되는 방법입니다. S256 방법의 경우 코드 챌린지는 코드 검증기의 SHA-256을 base64url로 인코딩한 값입니다.

이 열거형은 Qt 6.8에 도입되었습니다.

setPkceMethod() 및 pkceMethod()도 참조하세요 .

멤버 함수 문서

[explicit] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QObject *parent = nullptr)

부모 객체 parent 를 사용하여 QOAuth2AuthorizationCodeFlow 객체를 구성합니다.

[explicit] QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(QNetworkAccessManager *manager, QObject *parent = nullptr)

parent 을 부모로 사용하고 manager 을 네트워크 액세스 관리자로 설정하여 QOAuth2AuthorizationCodeFlow 개체를 구성합니다.

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, QNetworkAccessManager *manager, QObject *parent = nullptr)

parent 을 부모로 사용하여 QOAuth2AuthorizationCodeFlow 객체를 구성하고 manager 을 네트워크 액세스 관리자로 설정합니다. 클라이언트 식별자는 clientIdentifier 로 설정됩니다.

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)

parent 을 부모로 사용하여 QOAuth2AuthorizationCodeFlow 객체를 구성하고 manager 을 네트워크 액세스 관리자로 설정합니다. 인증 URL은 authenticateUrl 로 설정하고 액세스 토큰 URL은 accessTokenUrl 으로 설정합니다.

QOAuth2AuthorizationCodeFlow::QOAuth2AuthorizationCodeFlow(const QString &clientIdentifier, const QUrl &authenticateUrl, const QUrl &accessTokenUrl, QNetworkAccessManager *manager, QObject *parent = nullptr)

parent 을 부모로 사용하여 QOAuth2AuthorizationCodeFlow 객체를 구성하고 manager 을 네트워크 액세스 관리자로 설정합니다. 클라이언트 식별자는 clientIdentifier 로 설정되고 인증 URL은 authenticateUrl 으로 설정되며 액세스 토큰 URL은 accessTokenUrl 로 설정됩니다.

[virtual noexcept] QOAuth2AuthorizationCodeFlow::~QOAuth2AuthorizationCodeFlow()

QOAuth2AuthorizationCodeFlow 인스턴스를 삭제합니다.

[until 6.13] QUrl QOAuth2AuthorizationCodeFlow::accessTokenUrl() const

이 기능은 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 QAbstractOAuth2::tokenUrl()를 사용하세요.

액세스 토큰을 요청하는 데 사용된 URL을 반환합니다.

setAccessTokenUrl()도 참조하세요 .

[protected] QUrl QOAuth2AuthorizationCodeFlow::buildAuthenticateUrl(const QMultiMap<QString, QVariant> &parameters = {})

parameters 을 사용하여 권한 부여 요청에 사용할 인증 URL을 생성합니다.

[override virtual slot] void QOAuth2AuthorizationCodeFlow::grant()

다시 구현합니다: QAbstractOAuth::grant().

OAuth 2.0 인증 프레임워크에 설명된 대로 인증 플로우를 시작합니다.

[noexcept, since 6.8] QOAuth2AuthorizationCodeFlow::PkceMethod QOAuth2AuthorizationCodeFlow::pkceMethod() const

현재 PKCE 메서드를 반환합니다.

이 함수는 Qt 6.8에 도입되었습니다.

setPkceMethod() 및 QOAuth2AuthorizationCodeFlow::PkceMethod참조하십시오 .

[slot, until 6.13] void QOAuth2AuthorizationCodeFlow::refreshAccessToken()

이 기능은 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 QAbstractOAuth2::refreshTokens()를 사용하세요.

토큰을 새로 고치려면 이 함수를 호출합니다.

이 함수는 refreshTokensImplementation()를 호출합니다.

[protected slot, since 6.9] void QOAuth2AuthorizationCodeFlow::refreshTokensImplementation()

이 함수는 토큰 새로 고침 요청을 보냅니다.

새로 고침 요청이 성공적으로 시작되면 상태는 QAbstractOAuth::Status::RefreshingToken 로 설정되며, 그렇지 않으면 requestFailed() 신호가 전송되고 상태는 변경되지 않습니다.

토큰 새로 고침 프로세스가 이미 진행 중이면 이 함수는 아무런 영향을 미치지 않습니다.

토큰 새로 고침에 실패하고 액세스 토큰이 존재하면 상태는 QAbstractOAuth::Status::Granted 로 설정되고 액세스 토큰이 존재하지 않으면 QAbstractOAuth::Status::NotAuthenticated 으로 설정됩니다.

이 함수는 Qt 6.9에 도입되었습니다.

QAbstractOAuth::requestFailed() 및 QAbstractOAuth2::refreshTokens()도 참조하세요 .

[protected] void QOAuth2AuthorizationCodeFlow::requestAccessToken(const QString &code)

수신된 code 에서 액세스 토큰을 요청합니다. 사용자가 브라우저에서 인증을 성공적으로 완료하면 code 이 응답으로 수신됩니다.

[override virtual protected] void QOAuth2AuthorizationCodeFlow::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters = {})

재구현합니다: QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters).

urlparameters 를 사용하여 인증 URL을 구축합니다. 이 함수는 authorizeWithBrowser() 신호를 전송하여 사용자 상호작용을 요구합니다.

[until 6.13] void QOAuth2AuthorizationCodeFlow::setAccessTokenUrl(const QUrl &accessTokenUrl)

이 기능은 버전 6.13에서 더 이상 사용되지 않을 예정입니다.

대신 QAbstractOAuth2::setTokenUrl()를 사용합니다.

액세스 토큰을 요청하는 데 사용되는 URL을 accessTokenUrl 으로 설정합니다.

accessTokenUrl()도 참조하세요 .

[since 6.8] void QOAuth2AuthorizationCodeFlow::setPkceMethod(QOAuth2AuthorizationCodeFlow::PkceMethod method, qsizetype length = 43)

현재 PKCE 방법을 method 로 설정합니다.

선택적으로 length 매개변수를 사용하여 code_verifier 의 길이를 설정할 수 있습니다. 이 값은 43바이트에서 128바이트 사이여야 합니다. '코드 검증기' 자체는 라이브러리에서 무작위로 생성됩니다.

이 함수는 Qt 6.8에 도입되었습니다.

pkceMethod() 및 QOAuth2AuthorizationCodeFlow::PkceMethod참조하십시오 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.