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 } |
속성
- accessTokenUrl : QUrl
공용 기능
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() |
QUrl | accessTokenUrl() const |
(since 6.8) QOAuth2AuthorizationCodeFlow::PkceMethod | pkceMethod() const |
void | setAccessTokenUrl(const QUrl &accessTokenUrl) |
(since 6.8) void | setPkceMethod(QOAuth2AuthorizationCodeFlow::PkceMethod method, qsizetype length = 43) |
공용 슬롯
virtual void | grant() override |
void | refreshAccessToken() |
신호
void | accessTokenUrlChanged(const QUrl &accessTokenUrl) |
보호된 함수
QUrl | buildAuthenticateUrl(const QMultiMap<QString, QVariant> ¶meters = {}) |
void | requestAccessToken(const QString &code) |
재구현된 보호 함수
virtual void | resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters = {}) override |
상세 설명
이 클래스는 액세스 토큰을 획득하고 갱신하는 데 사용되는 권한 부여 코드 부여 플로우를 구현합니다. 리디렉션 기반 플로우이므로 사용자가 웹 브라우저에 액세스해야 합니다.
리디렉션 기반 플로우인 이 클래스는 적절한 응답 처리기를 설정해야 합니다. Qt OAuth2 개요, QOAuthHttpServerReplyHandler, 및 QOAuthUriSchemeReplyHandler 을 참조하십시오.
멤버 유형 문서
[since 6.8]
enum class QOAuth2AuthorizationCodeFlow::PkceMethod
사용 가능한 코드 교환용 증명 키(PKCE) 방법 목록입니다.
PKCE는 인증 코드 가로채기 공격의 위험을 완화하기 위한 보안 조치입니다. 따라서 OAuth2 "권한 부여 코드" 흐름(부여), 특히 네이티브 애플리케이션과 관련이 있습니다.
PKCE는 권한 부여 및 액세스 토큰 요청에 추가 매개변수를 삽입합니다. 이러한 매개변수의 도움으로 권한 부여 서버는 액세스 토큰 요청이 권한 부여 요청을 발급한 동일한 엔터티에서 비롯된 것인지 확인할 수 있습니다.
상수 | 값 | 설명 |
---|---|---|
QOAuth2AuthorizationCodeFlow::PkceMethod::None | 255 | PKCE가 사용되지 않습니다. |
QOAuth2AuthorizationCodeFlow::PkceMethod::Plain | 1 | 일반 PKCE 방법이 사용됩니다. S256을 사용할 수 없는 경우에만 사용합니다. 일반 방법을 사용하면 코드 챌린지는 코드 검증기와 동일합니다. |
QOAuth2AuthorizationCodeFlow::PkceMethod::S256 | 0 | S256 PKCE 방법이 사용됩니다. 이 방법은 기본값이며 네이티브 애플리케이션에 권장되는 방법입니다. S256 방법의 경우 코드 챌린지는 코드 검증기의 SHA-256을 base64url로 인코딩한 값입니다. |
이 열거형은 Qt 6.8에 도입되었습니다.
setPkceMethod() 및 pkceMethod()도 참조하세요 .
속성 문서
accessTokenUrl : QUrl
이 속성에는 권한 부여 응답 중에 받은 임시 코드를 변환하는 데 사용되는 URL이 저장됩니다.
참조: 토큰 요청 액세스
액세스 함수:
QUrl | accessTokenUrl() const |
void | setAccessTokenUrl(const QUrl &accessTokenUrl) |
알림 신호:
void | accessTokenUrlChanged(const QUrl &accessTokenUrl) |
멤버 함수 문서
[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 인스턴스를 삭제합니다.
QUrl QOAuth2AuthorizationCodeFlow::accessTokenUrl() const
액세스 토큰을 요청하는 데 사용된 URL을 반환합니다.
참고: accessTokenUrl 속성에 대한 게터 함수입니다.
setAccessTokenUrl()도 참조하세요 .
[protected]
QUrl QOAuth2AuthorizationCodeFlow::buildAuthenticateUrl(const QMultiMap<QString, QVariant> ¶meters = {})
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]
void QOAuth2AuthorizationCodeFlow::refreshAccessToken()
토큰을 새로 고치려면 이 함수를 호출하세요. 액세스 토큰은 영구적이지 않습니다. 액세스 토큰을 획득할 때 함께 지정된 시간이 지나면 액세스 토큰은 유효하지 않게 됩니다.
토큰 새로 고침에 실패하고 액세스 토큰이 존재하는 경우 상태는 QAbstractOAuth::Status::Granted 로 설정되고 그렇지 않으면 QAbstractOAuth::Status::NotAuthenticated 으로 설정됩니다.
QAbstractOAuth::requestFailed() 및 토큰 새로 고침도참조하세요 .
[protected]
void QOAuth2AuthorizationCodeFlow::requestAccessToken(const QString &code)
수신된 code 에서 액세스 토큰을 요청합니다. 사용자가 브라우저에서 인증을 성공적으로 완료하면 code 이 응답으로 수신됩니다.
[override virtual protected]
void QOAuth2AuthorizationCodeFlow::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters = {})
재구현합니다: QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters).
url 와 parameters 를 사용하여 인증 URL을 구축합니다. 이 함수는 authorizeWithBrowser() 신호를 전송하여 사용자 상호작용을 요구합니다.
void QOAuth2AuthorizationCodeFlow::setAccessTokenUrl(const QUrl &accessTokenUrl)
액세스 토큰을 요청하는 데 사용되는 URL을 accessTokenUrl 으로 설정합니다.
참고: 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.