Класс 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 предоставляет метод для клиентов, чтобы получить доступ к ресурсам сервера от имени владельца ресурса (например, другого клиента или конечного пользователя). Он также предоставляет процесс для конечных пользователей, чтобы разрешить сторонний доступ к ресурсам сервера без обмена своими учетными данными (как правило, пара имя пользователя и пароль), используя перенаправления user-agent.
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.0/qoauth1.html