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, OAuthCallbackNotVerified } |
enum class | Stage { RequestingTemporaryCredentials, RequestingAuthorization, RequestingAccessToken, RefreshingAccessToken } |
enum class | Status { NotAuthenticated, TemporaryCredentialsReceived, Granted, RefreshingToken } |
속성
- authorizationUrl : QUrl
- contentType : QAbstractOAuth::ContentType
- extraTokens : const QVariantMap
- status : const Status
공용 기능
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 콘텐츠 유형을 나타냅니다.
Constant | 값 | 설명 |
---|---|---|
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를 확인하지 않았습니다. 이는 일반적으로 제공된 콜백이 클라이언트 등록 시 제공된 콜백과 일치하지 않을 때 발생합니다. |
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) |
contentType : QAbstractOAuth::ContentType
이 속성에는 권한 부여 매개변수를 전송할 때 사용할 Content-Type이 저장됩니다.
이 속성은 POST 요청과 함께 전송할 때 매개변수의 서식을 지정하는 방법을 제어합니다. 적절한 헤더도 추가됩니다.
액세스 기능:
QAbstractOAuth::ContentType | contentType() const |
void | setContentType(QAbstractOAuth::ContentType contentType) |
알림 신호:
void | contentTypeChanged(QAbstractOAuth::ContentType contentType) |
[read-only]
extraTokens : const QVariantMap
이 속성에는 서버에서 받은 추가 토큰이 저장됩니다.
기능에 액세스합니다:
QVariantMap | extraTokens() const |
알림 신호:
void | extraTokensChanged(const QVariantMap &tokens) |
[read-only]
status : const Status
이 속성은 현재 인증 상태를 보유합니다.
액세스 기능:
QAbstractOAuth::Status | status() const |
알림 신호:
void | statusChanged(QAbstractOAuth::Status status) |
멤버 함수 문서
[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
인증 프로세스에 사용된 현재 클라이언트 식별자를 반환합니다.
참고: 클라이언트 식별자 속성에 대한 게터 함수입니다.
setClientIdentifier()도 참조하세요 .
QAbstractOAuth::ContentType QAbstractOAuth::contentType() const
인증된 호출에 사용된 현재 콘텐츠 유형을 반환합니다.
참고: contentType 속성에 대한 게터 함수입니다.
setContentType() 및 post()도 참조하세요 .
[pure virtual invokable]
QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
인증된 삭제 요청을 전송하고 새 QNetworkReply 을 반환합니다. url 및 parameters 은 요청을 만드는 데 사용됩니다.
참고 항목도 참조하세요: 하이퍼텍스트 전송 프로토콜 - HTTP/1.1: DELETE
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
QVariantMap QAbstractOAuth::extraTokens() const
인증 중에 서버로부터 받은 추가 토큰을 반환합니다.
참고: 추가 토큰 속성에 대한 게터 함수입니다.
extraTokensChanged()도 참조하세요 .
[static protected]
QByteArray QAbstractOAuth::generateRandomString(quint8 length)
상태 또는 논스로 사용할 수 있는 임의의 문자열을 생성합니다. 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 동사이어야 하며 request 을 전송하는 데 사용되는 동사와 동일해야 합니다.
[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)
현재 콘텐츠 유형을 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
현재 인증 상태를 반환합니다.
참고: 속성 상태에 대한 게터 함수입니다.
QString QAbstractOAuth::token() const
인증된 요청에 서명하는 데 사용된 토큰을 반환합니다.
참고: 프로퍼티 토큰에 대한 겟터 함수입니다.
setToken()도 참조하세요 .
© 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.