이 페이지에서

QAbstractOAuth Class

QAbstractOAuth 클래스는 OAuth 인증 방식의 모든 구현체의 기반이 됩니다. 더 보기...

헤더: #include <QAbstractOAuth>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
상속: QObject
상속받는 항목:

QAbstractOAuth2 그리고 QOAuth1

공개 유형

enum class ContentType { WwwFormUrlEncoded, Json }
enum class Error { NoError, NetworkError, ServerError, OAuthTokenNotFoundError, OAuthTokenSecretNotFoundError, …, ExpiredError }
enum class Stage { RequestingTemporaryCredentials, RequestingAuthorization, RequestingAccessToken, RefreshingAccessToken }
enum class Status { NotAuthenticated, TemporaryCredentialsReceived, Granted, RefreshingToken }

속성

공개 함수

virtual ~QAbstractOAuth()
QUrl authorizationUrl() const
QString clientIdentifier() const
QAbstractOAuth::ContentType contentType() const
virtual QNetworkReply *deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QVariantMap extraTokens() const
virtual QNetworkReply *get(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual QNetworkReply *head(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuth::ModifyParametersFunction modifyParametersFunction() const
QNetworkAccessManager *networkAccessManager() const
virtual QNetworkReply *post(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
virtual void prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0
virtual QNetworkReply *put(const QUrl &url, const QVariantMap &parameters = QVariantMap()) = 0
QAbstractOAuthReplyHandler *replyHandler() const
void setAuthorizationUrl(const QUrl &url)
void setClientIdentifier(const QString &clientIdentifier)
void setContentType(QAbstractOAuth::ContentType contentType)
void setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)
void setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)
void setReplyHandler(QAbstractOAuthReplyHandler *handler)
void setToken(const QString &token)
QAbstractOAuth::Status status() const
QString token() const

공개 슬롯

virtual void grant() = 0

신호

void authorizationUrlChanged(const QUrl &url)
void authorizeWithBrowser(const QUrl &url)
void clientIdentifierChanged(const QString &clientIdentifier)
void contentTypeChanged(QAbstractOAuth::ContentType contentType)
void extraTokensChanged(const QVariantMap &tokens)
void granted()
void requestFailed(const QAbstractOAuth::Error error)
void statusChanged(QAbstractOAuth::Status status)
void tokenChanged(const QString &token)

보호된 함수

QString callback() const
virtual void resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)
void setStatus(QAbstractOAuth::Status status)

정적 보호 멤버

QByteArray generateRandomString(quint8 length)

상세 설명

이 클래스는 OAuth 인증 클래스의 기본 인터페이스를 정의합니다. 이 클래스를 상속하여 다양한 웹 서비스에 대한 사용자 정의 인증 메서드를 만들 수 있습니다.

또한 다양한 인증 흐름을 구현하는 과정을 용이하게 해주는 몇 가지 함수도 포함되어 있습니다.

멤버 유형 문서

enum class QAbstractOAuth::ContentType

인증된 호출에서 POST 메서드의 MIME Content-Type을 나타냅니다.

상수값설명
QAbstractOAuth::ContentType::WwwFormUrlEncoded0application/x-www-form-urlencoded 형식을 사용합니다.
QAbstractOAuth::ContentType::Json1application/json 형식을 사용합니다.

enum class QAbstractOAuth::Error

가장 최근에 수신된 오류를 나타냅니다.

상수값설명
QAbstractOAuth::Error::NoError0오류가 발생하지 않았습니다.
QAbstractOAuth::Error::NetworkError1서버에 연결하지 못했습니다.
QAbstractOAuth::Error::ServerError2서버가 요청에 오류 응답을 보냈거나, 응답을 정상적으로 수신하지 못했습니다(예: 상태 불일치로 인해).
QAbstractOAuth::Error::OAuthTokenNotFoundError3토큰 요청에 대한 서버의 응답에 토큰 식별자가 포함되지 않았습니다.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4토큰 요청에 대한 서버의 응답에 토큰 시크릿이 포함되어 있지 않습니다.
QAbstractOAuth::Error::OAuthCallbackNotVerified5인증 서버가 요청에 제공된 콜백 URI를 확인하지 못했습니다. 이는 일반적으로 제공된 콜백이 클라이언트 등록 시 제공된 콜백과 일치하지 않을 때 발생합니다.
QAbstractOAuth::Error::ClientError (since Qt 6.9)6클라이언트 애플리케이션에 기인한 오류입니다(예: 구성이 누락되었거나 허용되지 않는 상태에서 요청을 시도한 경우). 현재 QOAuth2DeviceAuthorizationFlow 에서 사용 중입니다.
QAbstractOAuth::Error::ExpiredError (since Qt 6.9)7토큰이 만료되었습니다. 현재 QOAuth2DeviceAuthorizationFlow 에서 사용 중입니다.

enum class QAbstractOAuth::Stage

인증 단계를 식별합니다. 이 매개변수는 인증 프로세스 중 호출될 때마다 매개변수에 서로 다른 변경 사항을 적용할 수 있도록 ` modifyParametersFunction `에 전달됩니다.

상수값설명
QAbstractOAuth::Stage::RequestingTemporaryCredentials0임시 자격 증명 요청을 준비합니다.
QAbstractOAuth::Stage::RequestingAuthorization1승인 부여 URL을 준비합니다.
QAbstractOAuth::Stage::RequestingAccessToken2토큰 요청을 준비 중입니다.
QAbstractOAuth::Stage::RefreshingAccessToken3액세스 토큰 갱신을 준비 중입니다.

enum class QAbstractOAuth::Status

현재 인증 상태를 나타냅니다.

상수값설명
QAbstractOAuth::Status::NotAuthenticated0토큰이 검색되지 않았습니다.
QAbstractOAuth::Status::TemporaryCredentialsReceived1임시 자격 증명이 수신되었습니다. 이 상태는 일부 OAuth 인증 방법에서 사용됩니다.
QAbstractOAuth::Status::Granted2토큰 자격 증명이 수신되었으며, 인증된 호출이 허용됩니다.
QAbstractOAuth::Status::RefreshingToken3새로운 토큰 자격 증명이 요청되었습니다.

속성 문서

authorizationUrl : QUrl

이 속성은 다음 문서에 설명된 대로 리소스 소유자 인증을 요청하는 데 사용되는 URL을 포함합니다: 《OAuth 1.0 프로토콜: 리소스 소유자 인증》

액세스 기능:

QUrl authorizationUrl() const
void setAuthorizationUrl(const QUrl &url)

알림 신호:

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

이 속성은 인증 과정에서 사용되는 클라이언트 식별자를 저장합니다.

액세스 함수:

QString clientIdentifier() const
void setClientIdentifier(const QString &clientIdentifier)

알림 신호:

void clientIdentifierChanged(const QString &clientIdentifier)

setClientIdentifier()도 참조하십시오 .

contentType : QAbstractOAuth::ContentType

이 속성은 인증 매개변수를 전송할 때 사용할 Content-Type을 지정합니다.

이 속성은 POST 요청과 함께 매개변수를 전송할 때 매개변수의 형식을 제어합니다. 또한 적절한 헤더도 추가됩니다.

액세스 기능:

QAbstractOAuth::ContentType contentType() const
void setContentType(QAbstractOAuth::ContentType contentType)

알림 신호:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : QVariantMap

이 속성은 서버로부터 수신한 추가 토큰을 저장합니다.

액세스 함수:

QVariantMap extraTokens() const

Notifier 신호:

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

이 속성은 현재 인증 상태를 저장합니다.

액세스 함수:

QAbstractOAuth::Status status() const

알림 신호:

void statusChanged(QAbstractOAuth::Status status)

token : QString

이 속성은 인증된 요청에 서명하는 데 사용되는 토큰을 저장합니다.

액세스 함수:

QString token() const
void setToken(const QString &token)

알림 신호:

void tokenChanged(const QString &token)

setToken()도 참조하십시오 .

멤버 함수 문서

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

추상적인 OAuth를 제거합니다.

QUrl QAbstractOAuth::authorizationUrl() const

인증 요청 URL을 반환합니다.

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

참조: ` setAuthorizationUrl()` 함수.

[signal] void QAbstractOAuth::authorizeWithBrowser(const QUrl &url)

이 신호는 resourceOwnerAuthorization()에 의해 생성된 url 이 웹 브라우저에서 사용 가능해질 때 전송되며, 이를 통해 애플리케이션이 사용자를 사칭할 수 있게 됩니다.

resourceOwnerAuthorization()도 참조하십시오 .

[protected] QString QAbstractOAuth::callback() const

현재 응답 핸들러에 해당하는 현재 콜백 문자열을 반환합니다. 반환된 문자열은 콜백 URI를 지정하기 위해 서버로 전송되는 문자열이거나, 헤드리스 기기에서 대체 메서드를 식별하는 단어입니다.

replyHandler() 및 setReplyHandler()도 참조하십시오 .

QString QAbstractOAuth::clientIdentifier() const

인증 과정에서 사용 중인 현재 클라이언트 식별자를 반환합니다.

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

참조: ` setClientIdentifier()` 함수.

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

인증된 호출에서 현재 사용 중인 Content-Type을 반환합니다.

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

setContentType() 및 post()도 참조하십시오 .

[pure virtual invokable] QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap &parameters = QVariantMap())

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

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

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

QVariantMap QAbstractOAuth::extraTokens() const

인증 과정에서 서버로부터 수신한 추가 토큰을 반환합니다.

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

참조: ` extraTokensChanged()` 함수.

[static protected] QByteArray QAbstractOAuth::generateRandomString(quint8 length)

상태 또는 논스(nonce)로 사용할 수 있는 임의의 문자열을 생성합니다. 매개변수 ` length `는 생성되는 문자열의 길이를 결정합니다.

참조: OAuth 1.0 프로토콜: 논스 및 타임스탬프.

참고: 이 함수는 스레드 안전합니다.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::get(const QUrl &url, const QVariantMap &parameters = QVariantMap())

인증된 GET 요청을 전송하고 새로운 ` QNetworkReply` 객체를 반환합니다. ` url ` 및 ` parameters `는 요청을 생성하는 데 사용됩니다.

참조: 하이퍼텍스트 전송 프로토콜 – HTTP/1.1: GET

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

[pure virtual slot] void QAbstractOAuth::grant()

이 함수를 재정의하여 하위 클래스에서 해당 인증 흐름을 구현하십시오. 클라이언트 코드는 이 함수를 호출하여 인증 워크플로를 시작합니다. 이때 사용자의 상호작용이 필요할 수 있습니다. 예를 들어, 웹 브라우저를 통해 사용자에게 인증을 요청하는 경우입니다. 인증이 성공하면 ` granted()`를 반환해야 합니다. 이렇게 하면 인증된 호출에서 자격 증명을 사용할 준비가 되었음을 알립니다.

[signal] void QAbstractOAuth::granted()

이 신호는 인증 절차가 성공적으로 완료되었을 때 전송됩니다.

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

참조: 하이퍼텍스트 전송 프로토콜 – HTTP/1.1: HEAD

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

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

현재의 매개변수 수정 함수를 반환합니다.

setModifyParametersFunction() 및 Stage도 참조하십시오 .

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

인증 흐름 중에 서버로 요청을 전송하거나 인증 호출을 수행하는 데 사용되는 현재 네트워크 액세스 관리자를 반환합니다.

setNetworkAccessManager() 및 QNetworkAccessManager도 참조하십시오 .

[pure virtual invokable] QNetworkReply *QAbstractOAuth::post(const QUrl &url, const QVariantMap &parameters = QVariantMap())

인증된 POST 요청을 전송하고 새로운 ` QNetworkReply` 객체를 반환합니다. ` url ` 및 ` parameters `는 요청을 생성하는 데 사용됩니다.

참조: 하이퍼텍스트 전송 프로토콜 – HTTP/1.1: POST

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

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

인증된 요청에 필요한 헤더와 body 을 추가하여 지정된 request 에 대한 인증을 수행합니다.

verb 는 유효한 HTTP Verb여야 하며, request 를 전송하는 데 사용될 Verb와 동일해야 합니다.

[pure virtual invokable] QNetworkReply *QAbstractOAuth::put(const QUrl &url, const QVariantMap &parameters = QVariantMap())

인증된 PUT 요청을 전송하고 새로운 QNetworkReply 를 반환합니다. url 및 parameters 는 요청을 생성하는 데 사용됩니다.

참조: 하이퍼텍스트 전송 프로토콜 – HTTP/1.1: PUT

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

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

현재 사용 중인 응답 핸들러를 반환합니다.

setReplyHandler() 및 QAbstractOAuthReplyHandler도 참조하십시오 .

[signal] void QAbstractOAuth::requestFailed(const QAbstractOAuth::Error error)

이 신호는 서버에 대한 요청이 실패했음을 나타내기 위해 전송됩니다. 함께 제공되는 error 는 요청이 어떻게 실패했는지를 나타냅니다.

QAbstractOAuth2::error() 및 QAbstractOAuthReplyHandler::tokenRequestErrorOccurred()도 참조하십시오 .

[virtual protected] void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> &parameters)

웹 브라우저에서 사용할 리소스 소유자 인증 URL을 생성합니다. url 이 기본 URL로 사용되며, parameters 을 사용하여 쿼리가 생성됩니다. URL이 준비되면, 생성된 URL과 함께 authorizeWithBrowser() 신호가 발송됩니다.

authorizeWithBrowser()도 참조하십시오 .

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

인증 요청 URL을 url 로 설정합니다. 이 주소는 사용자가 애플리케이션에 자신을 대신하여 인증된 호출을 수행할 수 있는 권한을 부여하는 데 사용됩니다.

참고: authorizationUrl 속성에 대한세터 함수입니다.

참조: authorizationUrl()

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

현재 클라이언트 식별자를 clientIdentifier 로 설정합니다.

참고: clientIdentifier 속성에 대한세터 함수입니다.

clientIdentifier()도 참조하십시오 .

void QAbstractOAuth::setContentType(QAbstractOAuth::ContentType contentType)

현재 Content-Type을 contentType 로 설정합니다.

참고: contentType 속성에 대한세터 함수입니다.

contentType()도 참조하십시오 .

void QAbstractOAuth::setModifyParametersFunction(const QAbstractOAuth::ModifyParametersFunction &modifyParametersFunction)

매개변수 수정 함수 ` modifyParametersFunction`를 설정합니다. 이 함수는 지정된 인증 단계에서 서버로 전송되는 매개변수를 사용자 정의하는 데 사용됩니다. 이 함수의 호출 횟수는 인증 과정에서 사용되는 흐름에 따라 달라집니다.

modifyParametersFunction() 및 Stage도 참조하십시오 .

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

네트워크 관리자를 networkAccessManager 로 설정합니다. QAbstractOAuth 는 networkAccessManager 에 대한 소유권을 가져오지 않습니다. 사용자 지정 네트워크 액세스 관리자가 설정되어 있지 않은 경우, 내부 네트워크 액세스 관리자가 사용됩니다. 이 네트워크 액세스 관리자는 인증 서버에 대한 요청과 웹 서비스에 대한 인증된 요청을 보내는 데 사용됩니다.

networkAccessManager() 및 QNetworkAccessManager도 참조하십시오 .

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

현재 응답 핸들러를 handler 로 설정합니다.

참고: ` handler`에 대한 소유권을 가져오지는않습니다 .

replyHandler()도 참조하십시오 .

[protected] void QAbstractOAuth::setStatus(QAbstractOAuth::Status status)

현재 상태를 ` status`로 설정합니다. 이 메서드는 ` QAbstractOAuth`을 기반으로 하는 클래스에서 사용하기 위한 것입니다.

status()도 참조하십시오 .

void QAbstractOAuth::setToken(const QString &token)

인증된 요청에 서명하는 데 사용되는 토큰을 token 로 설정합니다.

참고: token 속성에 대한세터 함수입니다.

token()도 참조하십시오 .

QAbstractOAuth::Status QAbstractOAuth::status() const

현재 인증 상태를 반환합니다.

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

setStatus() 및 Status도 참조하십시오 .

QString QAbstractOAuth::token() const

인증된 요청에 서명하는 데 사용되는 토큰을 반환합니다.

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

참조 : `setToken()`도 참조하십시오 .

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