En esta página

QAbstractOAuth Class

La clase QAbstractOAuth es la base de todas las implementaciones de métodos de autenticación OAuth. Más...

Cabecera: #include <QAbstractOAuth>
CMake: find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
qmake: QT += networkauth
Hereda: QObject
Heredado por:

QAbstractOAuth2 y QOAuth1

Tipos públicos

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 }

Propiedades

Funciones públicas

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

Ranuras públicas

virtual void grant() = 0

Señales

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)

Funciones protegidas

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

Miembros estáticos protegidos

QByteArray generateRandomString(quint8 length)

Descripción detallada

Esta clase define la interfaz básica de las clases de autenticación OAuth. Al heredar esta clase, puedes crear métodos de autenticación personalizados para diferentes servicios web.

También contiene algunas funciones para facilitar el proceso de implementación de diferentes flujos de autenticación.

Documentación del tipo de miembro

enum class QAbstractOAuth::ContentType

Indica el MIME Content-Type de los métodos POST en llamadas autenticadas.

ConstanteValorDescripción
QAbstractOAuth::ContentType::WwwFormUrlEncoded0Utiliza el formato application/x-www-form-urlencoded.
QAbstractOAuth::ContentType::Json1Utiliza el formato application/json.

enum class QAbstractOAuth::Error

Indica el último error recibido.

ConstanteValorDescripción
QAbstractOAuth::Error::NoError0No se ha producido ningún error.
QAbstractOAuth::Error::NetworkError1No se ha podido conectar con el servidor.
QAbstractOAuth::Error::ServerError2El servidor respondió a la solicitud con un error, o su respuesta no se recibió correctamente (por ejemplo, debido a un desajuste de estado).
QAbstractOAuth::Error::OAuthTokenNotFoundError3La respuesta del servidor a una solicitud de token no proporcionó ningún identificador de token.
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError4La respuesta del servidor a una solicitud de token no proporcionó ningún secreto de token.
QAbstractOAuth::Error::OAuthCallbackNotVerified5El servidor de autorización no ha verificado el callback URI proporcionado en la solicitud. Esto suele ocurrir cuando el callback proporcionado no coincide con el callback suministrado durante el registro del cliente.
QAbstractOAuth::Error::ClientError (since Qt 6.9)6Un error atribuible a la aplicación cliente (por ejemplo, falta de configuración o intento de solicitud en un estado en el que no está permitido). Actualmente utilizado por QOAuth2DeviceAuthorizationFlow.
QAbstractOAuth::Error::ExpiredError (since Qt 6.9)7Un token ha caducado. Actualmente utilizado por QOAuth2DeviceAuthorizationFlow.

enum class QAbstractOAuth::Stage

Identifica una etapa de autenticación. Se pasa a modifyParametersFunction para que pueda realizar diferentes cambios en los parámetros en cada llamada durante el proceso de autenticación.

ConstanteValorDescripción
QAbstractOAuth::Stage::RequestingTemporaryCredentials0Preparación de la solicitud de credenciales temporales.
QAbstractOAuth::Stage::RequestingAuthorization1Preparación de la URL de concesión de autorización.
QAbstractOAuth::Stage::RequestingAccessToken2Preparación de la solicitud de token.
QAbstractOAuth::Stage::RefreshingAccessToken3Preparación de la actualización del token de acceso.

enum class QAbstractOAuth::Status

Indica el estado actual de la autenticación.

ConstanteValorDescripción
QAbstractOAuth::Status::NotAuthenticated0No se ha recuperado ningún token.
QAbstractOAuth::Status::TemporaryCredentialsReceived1Se han recibido credenciales temporales, este estado se utiliza en algunos métodos de autenticación OAuth.
QAbstractOAuth::Status::Granted2Se han recibido credenciales de token y se permiten llamadas autenticadas.
QAbstractOAuth::Status::RefreshingToken3Se han solicitado nuevas credenciales de token.

Documentación de Propiedades

authorizationUrl : QUrl

Esta propiedad contiene la URL utilizada para solicitar la Autorización del Propietario del Recurso tal y como se describe en: Protocolo OAuth 1.0: Autorización del Propietario del Recurso

Funciones de acceso:

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

Señal de notificador:

void authorizationUrlChanged(const QUrl &url)

clientIdentifier : QString

Esta propiedad contiene el identificador del cliente utilizado en el proceso de autenticación.

Funciones de acceso:

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

Señal de notificador:

void clientIdentifierChanged(const QString &clientIdentifier)

Véase también setClientIdentifier().

contentType : QAbstractOAuth::ContentType

Esta propiedad contiene el Content-Type a utilizar cuando se envían parámetros de autorización.

Esta propiedad controla cómo se formatean los parámetros cuando se envían con una solicitud POST. También se añade una cabecera adecuada.

Funciones de acceso:

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

Señal de notificador:

void contentTypeChanged(QAbstractOAuth::ContentType contentType)

[read-only] extraTokens : QVariantMap

Esta propiedad contiene los tokens adicionales recibidos del servidor.

Funciones de acceso:

QVariantMap extraTokens() const

Señal del notificador:

void extraTokensChanged(const QVariantMap &tokens)

[read-only] status : Status

Esta propiedad contiene el estado de autenticación actual.

Funciones de acceso:

QAbstractOAuth::Status status() const

Señal del notificador:

void statusChanged(QAbstractOAuth::Status status)

token : QString

Esta propiedad contiene el token utilizado para firmar las solicitudes autenticadas.

Funciones de acceso:

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

Señal de notificador:

void tokenChanged(const QString &token)

Véase también setToken().

Documentación de las funciones miembro

[virtual noexcept] QAbstractOAuth::~QAbstractOAuth()

Destruye el OAuth abstracto.

QUrl QAbstractOAuth::authorizationUrl() const

Devuelve la URL de solicitud de autorización.

Nota: Función Getter para la propiedad authorizationUrl.

Véase también setAuthorizationUrl().

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

Esta señal se emite cuando el url generado por resourceOwnerAuthorization() está listo para ser utilizado en el navegador web para permitir que la aplicación suplante la identidad del usuario.

Véase también resourceOwnerAuthorization().

[protected] QString QAbstractOAuth::callback() const

Devuelve la cadena de devolución de llamada correspondiente al gestor de respuesta actual. La cadena devuelta es la cadena enviada al servidor para especificar el URI de devolución de llamada, o la palabra que identifica el método alternativo en dispositivos headless.

Véase también replyHandler() y setReplyHandler().

QString QAbstractOAuth::clientIdentifier() const

Devuelve el identificador de cliente actual utilizado en el proceso de autenticación.

Nota: Función Getter para la propiedad clientIdentifier.

Véase también setClientIdentifier().

QAbstractOAuth::ContentType QAbstractOAuth::contentType() const

Devuelve el Content-Type actual utilizado en las llamadas autenticadas.

Nota: Función Getter para la propiedad contentType.

Véase también setContentType() y post().

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

Envía una petición DELETE autenticada y devuelve un nuevo QNetworkReply. Los campos url y parameters se utilizan para crear la solicitud.

Véase también: Protocolo de transferencia de hipertexto - HTTP/1.1: DELETE

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

QVariantMap QAbstractOAuth::extraTokens() const

Devuelve los tokens extra recibidos del servidor durante la autenticación.

Nota: Función Getter para la propiedad extraTokens.

Véase también extraTokensChanged().

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

Genera una cadena aleatoria que puede utilizarse como estado o nonce. El parámetro length determina el tamaño de la cadena generada.

Véase también: Protocolo OAuth 1.0: Nonce y Timestamp.

Nota: Esta función es thread-safe.

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

Envía una petición GET autenticada y devuelve un nuevo QNetworkReply. Los campos url y parameters se utilizan para crear la solicitud.

Véase también: Protocolo de transferencia de hipertexto - HTTP/1.1: GET

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Anula esta función para implementar el flujo de autenticación correspondiente en las subclases. El código cliente llama a esta función para iniciar el flujo de trabajo de autenticación. Esto puede requerir la interacción del usuario: por ejemplo, solicitando su autorización a través de un navegador web. Cuando la autenticación tiene éxito, debe emitir granted(); esto da aviso de que las credenciales están listas para ser usadas en llamadas autenticadas.

[signal] void QAbstractOAuth::granted()

Esta señal se emite cuando el flujo de autorización finaliza con éxito.

Envía una petición HEAD autenticada y devuelve un nuevo QNetworkReply. Los campos url y parameters se utilizan para crear la petición.

Véase también: Protocolo de transferencia de hipertexto - HTTP/1.1: HEAD

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

QAbstractOAuth::ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const

Devuelve la función actual de modificación de parámetros.

Véase también setModifyParametersFunction() y Stage.

QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const

Devuelve el gestor de acceso a la red actual utilizado para enviar las peticiones al servidor durante los flujos de autenticación o para realizar llamadas de autenticación.

Véase también setNetworkAccessManager() y QNetworkAccessManager.

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

Envía una petición POST autenticada y devuelve un nuevo QNetworkReply. Los campos url y parameters se utilizan para crear la solicitud.

Véase también: Protocolo de transferencia de hipertexto - HTTP/1.1: POST

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Autoriza el request dado añadiéndole una cabecera y un body necesarios para las peticiones autenticadas.

El verb debe ser un verbo HTTP válido e igual al que se utilizará para enviar el request.

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

Envía una solicitud PUT autenticada y devuelve un nuevo QNetworkReply. Los campos url y parameters se utilizan para crear la solicitud.

Véase también: Protocolo de transferencia de hipertexto - HTTP/1.1: PUT

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const

Devuelve el gestor de respuestas actualmente en uso.

Véase también setReplyHandler() y QAbstractOAuthReplyHandler.

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

Esta señal se emite para indicar que una petición a un servidor ha fallado. El error suministrado indica cómo ha fallado la petición.

Véase también QAbstractOAuth2::error() y QAbstractOAuthReplyHandler::tokenRequestErrorOccurred().

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

Construye la URL de autorización del propietario del recurso que se utilizará en el navegador web: url se utiliza como URL base y la consulta se crea utilizando parameters. Cuando la URL esté lista, se emitirá la señal authorizeWithBrowser() con la URL generada.

Véase también authorizeWithBrowser().

void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)

Establece la URL de solicitud de autorización en url. Esta dirección se utilizará para que el usuario conceda a la aplicación la capacidad de realizar llamadas autenticadas en nombre del usuario.

Nota: Función Setter para la propiedad authorizationUrl.

Véase también authorizationUrl().

void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)

Establece el identificador de cliente actual en clientIdentifier.

Nota: Función Setter para la propiedad clientIdentifier.

Véase también clientIdentifier().

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

Establece el Content-Type actual en contentType.

Nota: Función Setter para la propiedad contentType.

Véase también contentType().

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

Establece la función de modificación de parámetros modifyParametersFunction. Esta función se utiliza para personalizar los parámetros enviados al servidor durante una etapa de autorización especificada. El número de llamadas a esta función depende del flujo utilizado durante la autenticación.

Véase también modifyParametersFunction() y Stage.

void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)

Establece el gestor de red en networkAccessManager. QAbstractOAuth no se apropia de networkAccessManager. Si no se establece un gestor de acceso a red personalizado, se utiliza un gestor de acceso a red interno. Este gestor de acceso a la red se utilizará para realizar la solicitud al servidor de autenticación y la solicitud autenticada al servicio web.

Véase también networkAccessManager() y QNetworkAccessManager.

void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)

Establece el gestor de respuesta actual en handler.

Nota: No toma posesión de handler.

Véase también replyHandler().

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

Establece el estado actual en status. Este método es para uso de clases basadas en QAbstractOAuth.

Véase también status().

void QAbstractOAuth::setToken(const QString &token)

Establece el token utilizado para firmar las solicitudes autenticadas a token.

Nota: Función Setter para la propiedad token.

Véase también token().

QAbstractOAuth::Status QAbstractOAuth::status() const

Devuelve el estado de autenticación actual.

Nota: Función Getter para el estado de la propiedad.

Véase también setStatus() y Status.

QString QAbstractOAuth::token() const

Devuelve el token utilizado para firmar las peticiones autenticadas.

Nota: Función Getter para la propiedad token.

Véase también 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.