QAbstractOAuth Class
QAbstractOAuth 클래스는 OAuth 인증 방식의 모든 구현체의 기반이 됩니다. 더 보기...
| 헤더: | #include <QAbstractOAuth> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS NetworkAuth) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake: | QT += networkauth |
| 상속: | QObject |
| 상속받는 항목: |
공개 유형
| 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 ¶meters = QVariantMap()) = 0 |
| QVariantMap | extraTokens() const |
| virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| QAbstractOAuth::ModifyParametersFunction | modifyParametersFunction() const |
| QNetworkAccessManager * | networkAccessManager() const |
| virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) = 0 |
| virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = 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> ¶meters) |
| void | setStatus(QAbstractOAuth::Status status) |
정적 보호 멤버
| QByteArray | generateRandomString(quint8 length) |
상세 설명
이 클래스는 OAuth 인증 클래스의 기본 인터페이스를 정의합니다. 이 클래스를 상속하여 다양한 웹 서비스에 대한 사용자 정의 인증 메서드를 만들 수 있습니다.
또한 다양한 인증 흐름을 구현하는 과정을 용이하게 해주는 몇 가지 함수도 포함되어 있습니다.
멤버 유형 문서
enum class QAbstractOAuth::ContentType
인증된 호출에서 POST 메서드의 MIME Content-Type을 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded | 0 | application/x-www-form-urlencoded 형식을 사용합니다. |
QAbstractOAuth::ContentType::Json | 1 | application/json 형식을 사용합니다. |
enum class QAbstractOAuth::Error
가장 최근에 수신된 오류를 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QAbstractOAuth::Error::NoError | 0 | 오류가 발생하지 않았습니다. |
QAbstractOAuth::Error::NetworkError | 1 | 서버에 연결하지 못했습니다. |
QAbstractOAuth::Error::ServerError | 2 | 서버가 요청에 오류 응답을 보냈거나, 응답을 정상적으로 수신하지 못했습니다(예: 상태 불일치로 인해). |
QAbstractOAuth::Error::OAuthTokenNotFoundError | 3 | 토큰 요청에 대한 서버의 응답에 토큰 식별자가 포함되지 않았습니다. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | 토큰 요청에 대한 서버의 응답에 토큰 시크릿이 포함되어 있지 않습니다. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | 인증 서버가 요청에 제공된 콜백 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::RequestingTemporaryCredentials | 0 | 임시 자격 증명 요청을 준비합니다. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | 승인 부여 URL을 준비합니다. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | 토큰 요청을 준비 중입니다. |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | 액세스 토큰 갱신을 준비 중입니다. |
enum class QAbstractOAuth::Status
현재 인증 상태를 나타냅니다.
| 상수 | 값 | 설명 |
|---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | 토큰이 검색되지 않았습니다. |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | 임시 자격 증명이 수신되었습니다. 이 상태는 일부 OAuth 인증 방법에서 사용됩니다. |
QAbstractOAuth::Status::Granted | 2 | 토큰 자격 증명이 수신되었으며, 인증된 호출이 허용됩니다. |
QAbstractOAuth::Status::RefreshingToken | 3 | 새로운 토큰 자격 증명이 요청되었습니다. |
속성 문서
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
이 속성은 인증된 요청에 서명하는 데 사용되는 토큰을 저장합니다.
액세스 함수:
알림 신호:
| 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 ¶meters = 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 ¶meters = QVariantMap())
인증된 GET 요청을 전송하고 새로운 ` QNetworkReply` 객체를 반환합니다. ` url ` 및 ` parameters `는 요청을 생성하는 데 사용됩니다.
참조: 하이퍼텍스트 전송 프로토콜 – HTTP/1.1: GET
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.
[pure virtual slot] void QAbstractOAuth::grant()
이 함수를 재정의하여 하위 클래스에서 해당 인증 흐름을 구현하십시오. 클라이언트 코드는 이 함수를 호출하여 인증 워크플로를 시작합니다. 이때 사용자의 상호작용이 필요할 수 있습니다. 예를 들어, 웹 브라우저를 통해 사용자에게 인증을 요청하는 경우입니다. 인증이 성공하면 ` granted()`를 반환해야 합니다. 이렇게 하면 인증된 호출에서 자격 증명을 사용할 준비가 되었음을 알립니다.
[signal] void QAbstractOAuth::granted()
이 신호는 인증 절차가 성공적으로 완료되었을 때 전송됩니다.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
인증된 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 ¶meters = 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 ¶meters = 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> ¶meters)
웹 브라우저에서 사용할 리소스 소유자 인증 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.