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: |
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 ¶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 |
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> ¶meters) |
| 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.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded | 0 | Utiliza el formato application/x-www-form-urlencoded. |
QAbstractOAuth::ContentType::Json | 1 | Utiliza el formato application/json. |
enum class QAbstractOAuth::Error
Indica el último error recibido.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractOAuth::Error::NoError | 0 | No se ha producido ningún error. |
QAbstractOAuth::Error::NetworkError | 1 | No se ha podido conectar con el servidor. |
QAbstractOAuth::Error::ServerError | 2 | El 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::OAuthTokenNotFoundError | 3 | La respuesta del servidor a una solicitud de token no proporcionó ningún identificador de token. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError | 4 | La respuesta del servidor a una solicitud de token no proporcionó ningún secreto de token. |
QAbstractOAuth::Error::OAuthCallbackNotVerified | 5 | El 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) | 6 | Un 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) | 7 | Un 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.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials | 0 | Preparación de la solicitud de credenciales temporales. |
QAbstractOAuth::Stage::RequestingAuthorization | 1 | Preparación de la URL de concesión de autorización. |
QAbstractOAuth::Stage::RequestingAccessToken | 2 | Preparación de la solicitud de token. |
QAbstractOAuth::Stage::RefreshingAccessToken | 3 | Preparación de la actualización del token de acceso. |
enum class QAbstractOAuth::Status
Indica el estado actual de la autenticación.
| Constante | Valor | Descripción |
|---|---|---|
QAbstractOAuth::Status::NotAuthenticated | 0 | No se ha recuperado ningún token. |
QAbstractOAuth::Status::TemporaryCredentialsReceived | 1 | Se han recibido credenciales temporales, este estado se utiliza en algunos métodos de autenticación OAuth. |
QAbstractOAuth::Status::Granted | 2 | Se han recibido credenciales de token y se permiten llamadas autenticadas. |
QAbstractOAuth::Status::RefreshingToken | 3 | Se 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:
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 ¶meters = 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 ¶meters = 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.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
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 ¶meters = 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 ¶meters = 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> ¶meters)
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.