QAbstractOAuth2 Class

QAbstractOAuth2 클래스는 OAuth 2 인증 메서드의 모든 구현의 기반입니다. 더 보기...

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

QOAuth2AuthorizationCodeFlowQOAuth2DeviceAuthorizationFlow

공용 유형

(since 6.9) enum class NonceMode { Automatic, Enabled, Disabled }

속성

공용 함수

QAbstractOAuth2(QObject *parent = nullptr)
QAbstractOAuth2(QNetworkAccessManager *manager, QObject *parent = nullptr)
virtual ~QAbstractOAuth2()
bool autoRefresh() const
void clearNetworkRequestModifier()
QString clientIdentifierSharedKey() const
virtual QUrl createAuthenticatedUrl(const QUrl &url, const QVariantMap &parameters = QVariantMap())
QDateTime expirationAt() const
QSet<QByteArray> grantedScopeTokens() const
QString idToken() const
QString nonce() const
QAbstractOAuth2::NonceMode nonceMode() const
(until 6.11) virtual QNetworkReply *post(const QUrl &url, QHttpMultiPart *multiPart)
(until 6.11) virtual QNetworkReply *post(const QUrl &url, const QByteArray &data)
(until 6.11) virtual QNetworkReply *put(const QUrl &url, QHttpMultiPart *multiPart)
(until 6.11) virtual QNetworkReply *put(const QUrl &url, const QByteArray &data)
std::chrono::seconds refreshLeadTime() const
QString refreshToken() const
QSet<QByteArray> requestedScopeTokens() const
QString responseType() const
QString scope() const
void setAutoRefresh(bool enable)
void setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)
(since 6.9) void setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)
void setNonce(const QString &nonce)
void setNonceMode(QAbstractOAuth2::NonceMode mode)
void setRefreshLeadTime(std::chrono::seconds leadTime)
void setRefreshToken(const QString &refreshToken)
void setRequestedScopeTokens(const QSet<QByteArray> &tokens)
void setScope(const QString &scope)
(since 6.5) void setSslConfiguration(const QSslConfiguration &configuration)
void setState(const QString &state)
void setTokenUrl(const QUrl &tokenUrl)
void setUserAgent(const QString &userAgent)
(since 6.5) QSslConfiguration sslConfiguration() const
QString state() const
QUrl tokenUrl() const
QString userAgent() const

재구현된 공용 함수

(until 6.11) virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
(until 6.11) virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override
virtual void prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override
(until 6.11) virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) override

공용 슬롯

(since 6.9) void refreshTokens()

신호

(since 6.9) void accessTokenAboutToExpire()
void authorizationCallbackReceived(const QVariantMap &data)
void autoRefreshChanged(bool enable)
void clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)
(until 6.13) void error(const QString &error, const QString &errorDescription, const QUrl &uri)
void expirationAtChanged(const QDateTime &expiration)
void grantedScopeTokensChanged(const QSet<QByteArray> &tokens)
void idTokenChanged(const QString &idToken)
void nonceChanged(const QString &nonce)
void nonceModeChanged(QAbstractOAuth2::NonceMode mode)
void refreshLeadTimeChanged(std::chrono::seconds leadTime)
void refreshTokenChanged(const QString &refreshToken)
void requestedScopeTokensChanged(const QSet<QByteArray> &tokens)
void scopeChanged(const QString &scope)
(since 6.9) void serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri)
(since 6.5) void sslConfigurationChanged(const QSslConfiguration &configuration)
void stateChanged(const QString &state)
void tokenUrlChanged(const QUrl &tokenUrl)
void userAgentChanged(const QString &userAgent)

보호된 슬롯

(since 6.9) void refreshTokensImplementation()

상세 설명

이 클래스는 OAuth 2 인증 클래스의 기본 인터페이스를 정의합니다. 이 클래스를 상속하면 다양한 웹 서비스에 대해 OAuth 2 표준을 사용하여 사용자 지정 인증 방법을 만들 수 있습니다.

OAuth 2의 작동 방식에 대한 설명은 여기에서 확인할 수 있습니다: OAuth 2.0 인증 프레임워크

멤버 유형 문서

[since 6.9] enum class QAbstractOAuth2::NonceMode

사용 가능한 논스 모드 목록입니다.

Constant설명
QAbstractOAuth2::NonceMode::Automatic0requested scopeopenid 이 포함된 경우 논스가 전송됩니다. 이 모드가 기본 모드이며, OIDC 인증 흐름과 관련이 있는 경우에만 nonce 을 전송합니다.
QAbstractOAuth2::NonceMode::Enabled1인증 단계에서 논스가 전송됩니다.
QAbstractOAuth2::NonceMode::Disabled2인증 단계에서는 논스가 전송되지 않습니다.

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

nonceQt OAuth2 개요를참조하십시오 .

속성 문서

[since 6.9] autoRefresh : bool

이 속성은 액세스 토큰의 자동 새로 고침을 사용하거나 사용하지 않도록 설정합니다.

이 속성은 액세스 토큰의 자동 새로 고침을 사용하거나 사용하지 않도록 설정합니다. 이는 사용자 개입 없이 중단 없는 권한 부여가 필요한 애플리케이션에 유용합니다.

이 속성이 true 인 경우 토큰이 곧 만료되고 유효한 refreshToken 이 존재할 때 refreshTokens()가 자동으로 호출됩니다.

이 프로퍼티는 Qt 6.9에 도입되었습니다.

액세스 함수:

bool autoRefresh() const
void setAutoRefresh(bool enable)

알림 신호:

void autoRefreshChanged(bool enable)

refreshLeadTimeaccessTokenAboutToExpire()도 참조하세요 .

clientIdentifierSharedKey : QString

이 속성에는 서버에서 토큰을 요청하기 위해 인증이 필요한 경우 비밀번호로 사용되는 클라이언트 공유 키가 저장됩니다.

액세스 기능:

QString clientIdentifierSharedKey() const
void setClientIdentifierSharedKey(const QString &clientIdentifierSharedKey)

알림 신호:

void clientIdentifierSharedKeyChanged(const QString &clientIdentifierSharedKey)

[read-only] expiration : const QDateTime

이 속성은 현재 액세스 토큰의 만료 시간을 보유합니다. 유효하지 않은 값은 권한 부여 서버가 유효한 만료 시간을 제공하지 않았음을 의미합니다.

액세스 기능:

QDateTime expirationAt() const

알림 신호:

void expirationAtChanged(const QDateTime &expiration)

QDateTime::isValid()도 참조하세요 .

[read-only, since 6.9] grantedScopeTokens : const QSet<QByteArray>

이 속성은 권한 부여 서버에서 부여한 범위를 보유합니다.

요청된 범위와 부여된 범위는 다를 수 있습니다. 최종 사용자가 범위의 하위 집합만 허용하도록 선택했거나 서버 측 정책에 따라 범위가 변경될 수 있습니다. 애플리케이션은 이 시나리오를 처리할 수 있도록 준비해야 하며, 부여된 범위가 애플리케이션 로직에 영향을 미치는지 확인해야 합니다.

서버는 RFC 6749에 정의된 대로 부여된 범위 표시를 생략할 수 있습니다. 이 경우 구현은 부여된 범위가 요청된 범위와 동일하다고 가정합니다.

이 속성은 Qt 6.9에 도입되었습니다.

액세스 함수:

QSet<QByteArray> grantedScopeTokens() const

알림 신호:

void grantedScopeTokensChanged(const QSet<QByteArray> &tokens)

QAbstractOAuth2::requestedScopeTokens참조하십시오 .

[read-only, since 6.9] idToken : const QString

이 프로퍼티는 수신된 OpenID Connect ID 토큰을 보유합니다.

이 프로퍼티는 Qt 6.9에 도입되었습니다.

액세스 함수:

QString idToken() const

알림 신호:

void idTokenChanged(const QString &idToken)

NonceMode, nonce, 및 Qt OpenID Connect 지원도참조하십시오 .

[since 6.9] nonce : QString

이 속성은 인증 중에 서버로 전송된 문자열을 보유합니다. 논스는 해당 토큰 응답(특히 OpenID Connect id_token )을 인증 단계와 연결하는 데 사용됩니다.

nonce 의 주요 목적은 리플레이 공격을 완화하는 것입니다. 이는 수신된 토큰 응답이 애플리케이션에서 시작한 인증 요청에 대한 응답임을 보장하여 공격자가 승인되지 않은 상황에서 토큰을 재사용하는 것을 방지합니다. 따라서 토큰 유효성 검사의 일부로 논스 검증을 포함하는 것이 중요합니다.

실제로 인증 서버 공급업체는 인증 요청에 논스가 제공되지 않은 경우 OpenID Connect 요청을 거부할 수 있습니다.

토큰 자체는 불투명한 문자열이며, 호환성을 극대화하기 위해 URL 안전 문자만 포함해야 합니다. 또한 토큰은 공격자가 추측할 수 없도록 적절한 엔트로피를 제공해야 합니다. 논스에 대한 엄격한 크기 제한은 없으며, 인증 서버 공급업체에서 자체적으로 최소 및 최대 크기를 지정할 수 있습니다.

nonce 은 수동으로 설정할 수 있지만, 설정하지 않은 경우 Qt 클래스는 32자 논스 when needed 를 생성합니다.

이 속성은 Qt 6.9에 도입되었습니다.

액세스 함수:

QString nonce() const
void setNonce(const QString &nonce)

알림 신호:

void nonceChanged(const QString &nonce)

nonceModeQt OpenID Connect 지원도참조하십시오 .

[since 6.9] nonceMode : NonceMode

이 프로퍼티는 현재 논스 모드(논스 사용 여부)를 유지합니다.

이 프로퍼티는 Qt 6.9에 도입되었습니다.

액세스 함수:

QAbstractOAuth2::NonceMode nonceMode() const
void setNonceMode(QAbstractOAuth2::NonceMode mode)

알림 신호:

void nonceModeChanged(QAbstractOAuth2::NonceMode mode)

NonceModenonce참조하십시오 .

[since 6.9] refreshLeadTime : std::chrono::seconds

이 속성은 액세스 토큰의 만료와 관련하여 accessTokenAboutToExpire() 신호가 얼마나 미리 전송되는지를 정의합니다.

이 속성은 현재 액세스 토큰이 만료되기 전에 accessTokenAboutToExpire() 신호가 전송되는 시간 간격(초)을 지정합니다. 이 속성에 설정된 값은 양수 기간이어야 합니다.

이 간격을 사용하면 애플리케이션이 토큰을 미리 새로 고쳐서 중단 없이 지속적인 인증을 보장할 수 있습니다.

이 속성을 명시적으로 설정하지 않았거나 제공된 리드 타임이 토큰의 수명보다 큰 경우, 리드 타임은 기본적으로 토큰의 남은 수명의 5%로 설정되지만 만료 10초 전(새로 고침 요청이 완료될 때까지 남은 시간)으로 설정됩니다.

참고: 만료 신호는 인증 서버가 적절한 만료 시간을 제공한 경우에만 작동합니다.

이 속성은 Qt 6.9에 도입되었습니다.

액세스 기능:

std::chrono::seconds refreshLeadTime() const
void setRefreshLeadTime(std::chrono::seconds leadTime)

알림 신호:

void refreshLeadTimeChanged(std::chrono::seconds leadTime)

autoRefresh참조하세요 .

[since 6.9] requestedScopeTokens : QSet<QByteArray>

이 속성은 클라이언트가 요청한 권한을 정의하는 원하는 범위를 보유합니다.

참고: 범위 토큰은 인쇄 가능한 US-ASCII 문자의 하위 집합으로 제한됩니다. 이 범위를 벗어난 문자를 사용하는 것은 지원되지 않습니다.

이 속성은 Qt 6.9에 도입되었습니다.

액세스 함수:

QSet<QByteArray> requestedScopeTokens() const
void setRequestedScopeTokens(const QSet<QByteArray> &tokens)

알림 신호:

void requestedScopeTokensChanged(const QSet<QByteArray> &tokens)

QAbstractOAuth2::grantedScopeTokens참조하십시오 .

[until 6.13] scope : QString

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

대신 requestedScopeTokensgrantedScopeTokens 속성을 사용하십시오. 이 속성은 Qt 7에서 제거될 예정입니다.

이 속성은 클라이언트가 요청한 권한을 정의하는 원하는 범위를 보유합니다.

범위 값은 권한 서버에서 부여한 범위 값으로 업데이트됩니다. 비어 있는 범위 응답의 경우 요청된 범위가 부여된 것으로 간주되어 변경되지 않습니다.

이 속성이 처음에는 요청된 범위로, 나중에는 부여된 범위로 두 가지 역할을 수행한다는 사실은 과거의 유물입니다. 모든 새 코드는 QAbstractOAuth2::requestedScopeTokensQAbstractOAuth2::grantedScopeTokens 을 사용하는 것이 좋습니다.

액세스 함수:

QString scope() const
void setScope(const QString &scope)

알림 신호:

void scopeChanged(const QString &scope)

QAbstractOAuth2::grantedScopeTokensQAbstractOAuth2::requestedScopeTokens참조하세요 .

state : QString

이 속성은 인증 중에 서버로 전송된 문자열을 보관합니다. 상태는 콜백이 수신될 때 요청을 식별하고 유효성을 검사하는 데 사용됩니다.

상태 요소에서 특정 문자는 불법입니다( RFC 6749 참조). 잘못된 문자를 사용하면 의도하지 않은 상태 불일치 및 OAuth 2 인증 실패로 이어질 수 있습니다. 따라서 잘못된 문자가 포함된 값을 설정하려고 하면 상태가 무시되고 경고가 기록됩니다.

액세스 기능:

QString state() const
void setState(const QString &state)

알림 신호:

void stateChanged(const QString &state)

[since 6.9] tokenUrl : QUrl

이 속성은 토큰을 가져오는 데 사용되는 토큰 엔드포인트 URL을 보유합니다. 사용 사례 및 권한 부여 서버 지원에 따라 이러한 토큰은 액세스 토큰, 새로 고침 토큰 및 ID 토큰이 될 수 있습니다.

토큰은 일반적으로 인증 단계가 완료되면 검색되며 토큰 엔드포인트는 필요에 따라 토큰을 새로 고치는 데 사용될 수도 있습니다.

예를 들어 QOAuth2AuthorizationCodeFlow 은 이 URL을 사용하여 액세스 토큰 요청을 발행하고 QOAuth2DeviceAuthorizationFlow 은 이 URL을 사용하여 액세스 토큰을 폴링합니다.

이 속성은 Qt 6.9에 도입되었습니다.

액세스 함수:

QUrl tokenUrl() const
void setTokenUrl(const QUrl &tokenUrl)

알림 신호:

void tokenUrlChanged(const QUrl &tokenUrl)

userAgent : QString

이 속성은 네트워크 요청을 생성하는 데 사용되는 User-Agent 헤더를 보유합니다.

기본값은 "QtOAuth/1.0(+https://www.qt.io)"입니다.

액세스 함수:

QString userAgent() const
void setUserAgent(const QString &userAgent)

알림 신호:

void userAgentChanged(const QString &userAgent)

멤버 함수 문서

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

parent 을 부모로 사용하여 QAbstractOAuth2 객체를 구축합니다.

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

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

[virtual noexcept] QAbstractOAuth2::~QAbstractOAuth2()

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

[signal, since 6.9] void QAbstractOAuth2::accessTokenAboutToExpire()

이 신호는 액세스 토큰이 곧 만료될 때 발신됩니다.

이 신호를 보내려면 액세스 토큰에 유효한 만료 시간이 있어야 합니다. 이 신호를 수동으로 처리하는 다른 방법은 autoRefresh 을 사용하는 것입니다.

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

refreshLeadTime, autoRefresh, refreshTokens()도 참조하세요 .

[signal] void QAbstractOAuth2::authorizationCallbackReceived(const QVariantMap &data)

응답 서버가 서버로부터 권한 부여 콜백을 수신할 때 발생하는 신호: data 서버로부터 받은 값을 포함합니다.

void QAbstractOAuth2::clearNetworkRequestModifier()

네트워크 요청 수정자를 지웁니다.

setNetworkRequestModifier()도 참조하세요 .

[virtual invokable] QUrl QAbstractOAuth2::createAuthenticatedUrl(const QUrl &url, const QVariantMap &parameters = QVariantMap())

반환된 URL은 url 을 기반으로 하며, 지정된 parameters 및 액세스 토큰과 결합됩니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

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

재구현합니다: QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters).

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

인증된 DELETE 요청을 전송하고 새로운 QNetworkReply 을 반환합니다. urlparameters 은 요청을 생성하는 데 사용됩니다.

참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: DELETE

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[signal, until 6.13] void QAbstractOAuth2::error(const QString &error, const QString &errorDescription, const QUrl &uri)

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

대신 serverReportedErrorOccurred 사용

서버가 RFC 6749 오류 응답에 정의된 오류와 함께 권한 부여 요청에 응답할 때 발생하는 신호입니다.

error 는 오류의 이름이고 errorDescription 는 오류를 설명하며 uri 는 오류에 대한 자세한 정보가 포함된 선택적 URI입니다.

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

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::get(const QUrl &url, const QVariantMap &parameters = QVariantMap())

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

재구현합니다: QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters).

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대체를 참조하세요.

인증된 GET 요청을 전송하고 새 QNetworkReply 을 반환합니다. urlparameters 은 요청을 생성하는 데 사용됩니다.

또한 참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: GET

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

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

재구현합니다: QAbstractOAuth::head(const QUrl &url, const QVariantMap &parameters).

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

인증된 HEAD 요청을 전송하고 새로운 QNetworkReply 을 반환합니다. urlparameters 은 요청을 생성하는 데 사용됩니다.

또한 참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: HEAD

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

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

재구현합니다: QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters).

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

인증된 POST 요청을 전송하고 새 QNetworkReply 을 반환합니다. urlparameters 은 요청을 생성하는 데 사용됩니다.

또한 참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: POST

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, QHttpMultiPart *multiPart)

이 함수는 버전 6.11에서 더 이상 사용되지 않을 예정입니다.

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

이 함수는 오버로드된 함수입니다.

인증된 POST 요청을 전송하고 새 QNetworkReply 을 반환합니다. urlmultiPart 은 요청을 생성하는 데 사용됩니다.

{하이퍼텍스트 전송 프로토콜 - HTTP/1.1: POST}

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

post(), QHttpMultiPart, https://tools.ietf.org/html/rfc2616#section-9.6도 참조하세요 .

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::post(const QUrl &url, const QByteArray &data)

이 함수는 버전 6.11에서 더 이상 사용되지 않을 예정입니다.

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

이 함수는 오버로드된 함수입니다.

인증된 POST 요청을 전송하고 새 QNetworkReply 을 반환합니다. urldata 은 요청을 생성하는 데 사용됩니다.

{하이퍼텍스트 전송 프로토콜 - HTTP/1.1: POST}

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

post() 및 https://tools.ietf.org/html/rfc2616#section-9.6 을참조하세요 .

[override virtual] void QAbstractOAuth2::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())

재구현합니다: QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).

[override virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QVariantMap &parameters = QVariantMap())

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

재구현합니다: QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters).

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대체를 참조하세요.

인증된 PUT 요청을 전송하고 새 QNetworkReply 을 반환합니다. urlparameters 은 요청을 생성하는 데 사용됩니다.

또한 참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: PUT

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, QHttpMultiPart *multiPart)

이 함수는 버전 6.11에서 더 이상 사용되지 않을 예정입니다.

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

이 함수는 오버로드된 함수입니다.

인증된 PUT 요청을 전송하고 새 QNetworkReply 을 반환합니다. urlmultiPart 은 요청을 생성하는 데 사용됩니다.

{하이퍼텍스트 전송 프로토콜 - HTTP/1.1: PUT}

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

put(), QHttpMultiPart, https://tools.ietf.org/html/rfc2616#section-9.6도 참조하세요 .

[virtual invokable, until 6.11] QNetworkReply *QAbstractOAuth2::put(const QUrl &url, const QByteArray &data)

이 함수는 버전 6.11에서 더 이상 사용되지 않을 예정입니다.

대신 QtNetwork 클래스를 직접 사용하세요. HTTP 메서드 대안을 참조하세요.

이 함수는 오버로드된 함수입니다.

인증된 PUT 요청을 전송하고 새 QNetworkReply 을 반환합니다. urldata 은 요청을 생성하는 데 사용됩니다.

{하이퍼텍스트 전송 프로토콜 - HTTP/1.1: PUT}

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

put() 및 https://tools.ietf.org/html/rfc2616#section-9.6 을참조하세요 .

QString QAbstractOAuth2::refreshToken() const

현재 새로고침 토큰을 가져옵니다.

새로 고침 토큰은 일반적으로 액세스 토큰보다 수명이 길기 때문에 나중에 사용할 수 있도록 저장해 두는 것이 좋습니다.

현재 새로 고침 토큰을 반환하거나 사용 가능한 새로 고침 토큰이 없는 경우 빈 문자열을 반환합니다.

참고: refreshToken 속성에 대한 게터 함수입니다.

setRefreshToken()도 참조하세요 .

[slot, since 6.9] void QAbstractOAuth2::refreshTokens()

토큰을 새로 고치려면 이 함수를 호출합니다. 이 함수는 refreshTokensImplementation()를 호출하여 실제 새로 고침을 수행합니다.

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

refreshTokensImplementation() 및 autoRefresh참조하십시오 .

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

이 슬롯은 refreshTokens()에서 토큰 새로 고침 요청을 보내기 위해 호출합니다.

파생 클래스는 토큰 새로 고침을 지원하기 위해 이 슬롯을 다시 구현해야 합니다:

class MyClass : public QAbstractOAuth2 { ...protected Q_SLOTS: void refreshTokensImplementation() QT7_ONLY(override); };void MyClass::refreshTokensImplementation(){
    qDebug("refresh");

이 기능은 Qt 6.9에 도입되었습니다.

autoRefreshaccessTokenAboutToExpire()도 참조하십시오 .

QString QAbstractOAuth2::responseType() const

사용된 응답 유형을 반환합니다.

[signal, since 6.9] void QAbstractOAuth2::serverReportedErrorOccurred(const QString &error, const QString &errorDescription, const QUrl &uri)

서버가 RFC 6749 오류 응답에 정의된 오류와 함께 권한 부여 요청에 응답할 때 발생하는 신호입니다.

error 는 오류의 이름이고 errorDescription 는 오류를 설명하며 uri 는 오류에 대한 자세한 정보가 포함된 선택적 URI입니다.

이러한 RFC 정의 오류를 포함한 모든 오류를 단일 신호로 포착하려면 QAbstractOAuth::requestFailed()를 사용합니다.

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

[since 6.9] template <typename Functor, QAbstractOAuth2::if_compatible_callback<Functor> = true> void QAbstractOAuth2::setNetworkRequestModifier(const QAbstractOAuth2::ContextTypeForFunctor<Functor> *context, Functor &&callback)

네트워크 요청 수정 기능을 callback 으로 설정합니다. 이 기능은 서버로 전송되는 네트워크 요청을 사용자 지정하는 데 사용됩니다.

callback 시그니처 void(QNetworkRequest&, QAbstractOAuth::Stage) 를 구현해야 합니다. 제공된 QNetworkRequest 은 직접 수정할 수 있으며 콜백이 완료된 직후에 사용됩니다. callback 은 함수 포인터, 람다, 멤버 함수 또는 모든 호출 가능한 객체일 수 있습니다. 제공된 QAbstractOAuth::Stage 은 요청이 어느 단계와 관련이 있는지 확인하는 데 사용할 수 있습니다( QOAuth2DeviceAuthorizationFlow 의 경우 토큰 요청, 토큰 새로 고침 요청 또는 권한 요청).

context 는 호출의 수명을 제어하고 context 가 파괴된 경우 할당 해제된 리소스에 대한 액세스를 방지합니다. 즉, 컨텍스트로 제공된 객체가 소멸되면 콜백이 실행되지 않습니다. context 은 유효한 QObject 을 가리켜야 합니다(콜백이 멤버 함수인 경우 실제로 해당 함수가 있어야 함). 콜백의 결과는 즉시 사용되므로 contextQAbstractOAuth2 인스턴스와 동일한 스레드에 있어야 합니다.

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

clearNetworkRequestModifier() 및 QNetworkRequest도참조하십시오 .

void QAbstractOAuth2::setRefreshToken(const QString &refreshToken)

새 새로 고침 토큰 refreshToken 을 사용하도록 설정합니다.

사용자 지정 새로 고침 토큰을 사용하여 이 메서드를 통해 액세스 토큰을 새로 고친 다음 refreshTokens()를 통해 액세스 토큰을 새로 고칠 수 있습니다.

참고: 속성에 대한 설정자 함수 refreshToken.

refreshToken()도 참조하세요 .

[since 6.5] void QAbstractOAuth2::setSslConfiguration(const QSslConfiguration &configuration)

클라이언트와 권한 부여 서버 간에 상호 TLS 연결을 설정할 때 사용할 TLS configuration 를 설정합니다.

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

sslConfiguration() 및 sslConfigurationChanged()도 참조하십시오 .

[since 6.5] QSslConfiguration QAbstractOAuth2::sslConfiguration() const

클라이언트와 권한 부여 서버 간에 상호 TLS 연결을 설정할 때 사용할 TLS 구성을 반환합니다.

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

setSslConfiguration() 및 sslConfigurationChanged()도 참조하십시오 .

[signal, since 6.5] void QAbstractOAuth2::sslConfigurationChanged(const QSslConfiguration &configuration)

이 신호는 TLS 구성이 변경되었을 때 전송됩니다. configuration 매개변수에는 새 TLS 구성이 포함됩니다.

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

sslConfiguration() 및 setSslConfiguration()도 참조하세요 .

© 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.