Класс QOAuth1
Класс QOAuth1 предоставляет реализацию протокола OAuth 1. Подробнее...
| Заголовок: | #include <QOAuth1> |
| CMake: | find_package(Qt6 COMPONENTS NetworkAuth REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake: | QT += networkauth |
| С тех пор: | Qt 5.8 |
| Наследует: | QAbstractOAuth |
Открытые типы
| Перечисление | SignatureMethod { Hmac_Sha1, Rsa_Sha1, PlainText } |
Открытые функции
| QOAuth1(const QString &clientIdentifier, const QString &clientSharedSecret, QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| QOAuth1(QNetworkAccessManager *manager, QObject *parent = nullptr) | |
| QOAuth1(QObject *parent = nullptr) | |
| QPair<QString, QString> | clientCredentials() const |
| QString | clientSharedSecret() const |
| void | setClientCredentials(const QPair<QString, QString> &clientCredentials) |
| void | setClientCredentials(const QString &clientIdentifier, const QString &clientSharedSecret) |
| void | setClientSharedSecret(const QString &clientSharedSecret) |
| void | setSignatureMethod(QOAuth1::SignatureMethod value) |
| void | setTemporaryCredentialsUrl(const QUrl &url) |
| void | setTokenCredentials(const QPair<QString, QString> &tokenCredentials) |
| void | setTokenCredentials(const QString &token, const QString &tokenSecret) |
| void | setTokenCredentialsUrl(const QUrl &url) |
| void | setTokenSecret(const QString &tokenSecret) |
| QOAuth1::SignatureMethod | signatureMethod() const |
| QUrl | temporaryCredentialsUrl() const |
| QPair<QString, QString> | tokenCredentials() const |
| QUrl | tokenCredentialsUrl() const |
| QString | tokenSecret() const |
Переопределённые открытые функции
| virtual QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
| virtual void | prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray()) override |
| virtual QNetworkReply * | put(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) override |
Открытые слоты
| void | continueGrantWithVerifier(const QString &verifier) |
| virtual void | grant() override |
Защищённые функции
| QNetworkReply * | requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap ¶meters = QVariantMap()) |
| QNetworkReply * | requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap ¶meters = QVariantMap()) |
| void | setup(QNetworkRequest *request, const QVariantMap &signingParameters, QNetworkAccessManager::Operation operation) |
| void | setup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb) |
Статические защищённые члены
| QByteArray | generateAuthorizationHeader(const QVariantMap &oauthParams) |
| QByteArray | nonce() |
Подробное описание
QOAuth1 предоставляет метод для доступа клиентам к ресурсам сервера от имени владельца ресурса (например, другого клиента или конечного пользователя). Он также обеспечивает процесс, позволяющий конечным пользователям разрешить стороннему доступу к своим ресурсам сервера, не делясь своими учетными данными (как правило, пара имя пользователя и пароль), используя перенаправления пользовательского агента.
QOAuth1 использует токены для представления авторизации, предоставленной клиенту владельцем ресурса. Обычно учетные данные токена выдаются сервером по запросу владельца ресурса после проверки подлинности личности владельца ресурса (как правило, с использованием имени пользователя и пароля).
При запросе временных учетных данных клиент авторизуется только с помощью учетных данных клиента. При запросе токена клиент авторизуется с помощью учетных данных клиента и временных учетных данных. После получения и хранения учетных данных токена клиент может приступить к доступу к защищённым ресурсам от имени владельца ресурса, выполняя аутентифицированные запросы с использованием учетных данных клиента вместе с полученными учетными данными токена.
Документация по типу членов
перечисление QOAuth1::SignatureMethod
Указывает метод подписи, используемый для подписи запросов.
| Константа | Значение | Описание |
|---|---|---|
QOAuth1::SignatureMethod::Hmac_Sha1 |
0 |
Метод подписи HMAC-SHA1. |
QOAuth1::SignatureMethod::Rsa_Sha1 |
1 |
Метод подписи RSA-SHA1 (не поддерживается). |
QOAuth1::SignatureMethod::PlainText |
2 |
Метод подписи PLAINTEXT. |
Документация по функциям-членам
QOAuth1::QOAuth1(const QString &clientIdentifier, const QString &clientSharedSecret, QNetworkAccessManager *manager, QObject *parent = nullptr)
Создаёт объект QOAuth1 с родительским объектом parent, используя manager для доступа к сети. Также устанавливает clientIdentifier и clientSharedSecret для подписи вызовов веб-серверу и идентификации приложения.
QOAuth1::QOAuth1(QNetworkAccessManager *manager, QObject *parent = nullptr)
Создаёт объект QOAuth1 с родительским объектом parent, используя manager для доступа к сети.
QOAuth1::QOAuth1(QObject *parent = nullptr)
Создаёт объект QOAuth1 с родительским объектом parent.
[slot] void QOAuth1::continueGrantWithVerifier(const QString &verifier)
Продолжает поток авторизации на основе перенаправления, используя verifier. Вызывайте эту функцию, когда используется обработчик ответа вне области видимости, для передачи идентификатора, предоставленного веб-сервером.
[override virtual slot] void QOAuth1::grant()
Переопределяет: QAbstractOAuth::grant().
Запускает поток авторизации на основе перенаправления.
Примечание: для обработчика ответа вне области видимости, строка идентификатора получена после вызова этой функции; передайте её в continueGrantWithVerifier() для продолжения процесса авторизации.
См. также: Протокол OAuth 1.0: Авторизация на основе перенаправления
См. также: continueGrantWithVerifier().
QPair<QString, QString> QOAuth1::clientCredentials() const
Возвращает пару QString, используемую для идентификации приложения и подписи запросов к веб-серверу.
См. также setClientCredentials().
QString QOAuth1::clientSharedSecret() const
Возвращает текущий общий секрет, используемый для подписи запросов к веб-серверу.
См. также setClientSharedSecret() и clientCredentials().
[override virtual] QNetworkReply *QOAuth1::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Переопределяет: QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters).
Отправляет аутентифицированный запрос DELETE и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: DELETE
[static protected] QByteArray QOAuth1::generateAuthorizationHeader(const QVariantMap &oauthParams)
Генерирует заголовок авторизации, используя oauthParams.
См. также: Протокол OAuth 1.0: Заголовок авторизации
[override virtual] QNetworkReply *QOAuth1::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Переопределяет: QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters).
Отправляет аутентифицированный запрос GET и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: GET
[override virtual] QNetworkReply *QOAuth1::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Переопределяет: QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters).
Отправляет аутентифицированный запрос HEAD и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: HEAD
[static protected] QByteArray QOAuth1::nonce()
Генерирует nonce.
См. также: Протокол OAuth 1.0: Nonce и Timestamp
[override virtual] QNetworkReply *QOAuth1::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Переопределяет: QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters).
Отправляет аутентифицированный запрос POST и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: POST
[override virtual] void QOAuth1::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
Переопределяет: QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body).
[override virtual] QNetworkReply *QOAuth1::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Переопределяет: QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters).
Отправляет аутентифицированный запрос PUT и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: PUT
[protected] QNetworkReply *QOAuth1::requestTemporaryCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Инициализирует запрос временных учетных данных, используя метод запроса operation. URL запроса — url, а parameters должны быть закодированы и отправлены во время запроса.
См. также: Протокол OAuth 1.0: Временные учетные данные
[protected] QNetworkReply *QOAuth1::requestTokenCredentials(QNetworkAccessManager::Operation operation, const QUrl &url, const QPair<QString, QString> &temporaryToken, const QVariantMap ¶meters = QVariantMap())
Инициализирует запрос учетных данных токена, используя метод запроса operation. URL запроса — url, а parameters должны быть закодированы и отправлены во время запроса. Пара temporaryToken строк используется для идентификации и подписи запроса.
См. также: Протокол OAuth 1.0: Учетные данные токена
void QOAuth1::setClientCredentials(const QPair<QString, QString> &clientCredentials)
Устанавливает clientCredentials как пару QString, используемую для идентификации приложения и подписи запросов к веб-серверу.
См. также clientCredentials().
void QOAuth1::setClientCredentials(const QString &clientIdentifier, const QString &clientSharedSecret)
Устанавливает clientIdentifier и clientSharedSecret как пару QString, используемую для идентификации приложения и подписи запросов к веб-серверу. clientIdentifier идентифицирует приложение, а clientSharedSecret используется для подписи запросов.
См. также clientCredentials().
void QOAuth1::setClientSharedSecret(const QString &clientSharedSecret)
Устанавливает clientSharedSecret в качестве строки, используемой для подписи запросов к веб-серверу.
См. также clientSharedSecret() и setClientCredentials().
void QOAuth1::setSignatureMethod(QOAuth1::SignatureMethod value)
Устанавливает value в качестве метода, используемого для подписи запросов к веб-серверу.
См. также signatureMethod().
void QOAuth1::setTemporaryCredentialsUrl(const QUrl &url)
Устанавливает url в качестве URL для запроса временных учетных данных для начала процесса аутентификации.
См. также temporaryCredentialsUrl().
void QOAuth1::setTokenCredentials(const QPair<QString, QString> &tokenCredentials)
Устанавливает tokenCredentials как пару QString, используемую для идентификации и подписи аутентифицированных запросов к веб-серверу.
См. также tokenCredentials().
void QOAuth1::setTokenCredentials(const QString &token, const QString &tokenSecret)
Устанавливает token и tokenSecret как пару QString, используемую для идентификации и подписи аутентифицированных запросов к веб-серверу. После получения и хранения клиентом учетных данных токена, он может приступить к доступу к защищенным ресурсам от имени владельца ресурса, выполняя аутентифицированные запросы с использованием учетных данных клиента вместе с полученными учетными данными токена.
См. также tokenCredentials().
void QOAuth1::setTokenCredentialsUrl(const QUrl &url)
Устанавливает url в качестве URL для запроса учетных данных токена для продолжения процесса аутентификации.
См. также tokenCredentialsUrl().
void QOAuth1::setTokenSecret(const QString &tokenSecret)
Устанавливает tokenSecret в качестве текущего секрета токена, используемого для подписи аутентифицированных вызовов к веб-серверу.
См. также tokenSecret() и setTokenCredentials().
[protected] void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParameters, QNetworkAccessManager::Operation operation)
Подписывает request с использованием signingParameters и operation.
Это перегруженный метод.
[protected, since 5.13] void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParameters, const QByteArray &operationVerb)
Подписывает request с использованием signingParameters и operationVerb.
Это перегруженный метод.
Этот метод был введён в Qt 5.13.
QOAuth1::SignatureMethod QOAuth1::signatureMethod() const
Возвращает метод, используемый для подписи запроса к веб-серверу.
См. также setSignatureMethod().
QUrl QOAuth1::temporaryCredentialsUrl() const
Возвращает URL, используемый для запроса временных учетных данных для начала процесса аутентификации.
См. также setTemporaryCredentialsUrl().
QPair<QString, QString> QOAuth1::tokenCredentials() const
Возвращает пару QString, используемую для идентификации и подписи аутентифицированных запросов к веб-серверу.
См. также setTokenCredentials().
QUrl QOAuth1::tokenCredentialsUrl() const
Возвращает URL, используемый для запроса учетных данных токена для продолжения процесса аутентификации.
См. также setTokenCredentialsUrl().
QString QOAuth1::tokenSecret() const
Возвращает текущий секрет токена, используемый для подписи аутентифицированных запросов к веб-серверу.
См. также setTokenSecret() и tokenCredentials().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qoauth1.html