Класс QAbstractOAuth
Класс QAbstractOAuth является основой всех реализаций методов аутентификации OAuth. Подробнее...
| Заголовок: | #include <QAbstractOAuth> |
| CMake: | find_package(Qt6 COMPONENTS NetworkAuth REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth) |
| qmake: | QT += networkauth |
| С тех пор: | Qt 5.8 |
| Наследует: | QObject |
| Наследуется от: |
Типы public
| Перечисление | ContentType { WwwFormUrlEncoded, Json } |
| Перечисление | Error { НетОшибки, ОшибкаСети, ОшибкаСервера, ОшибкаOAuthТокена, ОшибкаOAuthСекретТокена, OAuthCallbackНеПроверен } |
| Перечисление | Stage { ЗапросВременныхУдостоверений, ЗапросАвторизации, ЗапросТокенаДоступа, ОбновлениеТокенаДоступа } |
| Перечисление | Status { НеАвторизован, ПолученыВременныеУдостоверения, Авторизован, ОбновлениеТокена } |
Свойства
- authorizationUrl : QUrl
- contentType : QAbstractOAuth::ContentType
- extraTokens : const QVariantMap
- status : const Status
Функции public
| 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 |
Свойства public
| 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 | 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. Наследуя этот класс, вы можете создавать пользовательские методы аутентификации для различных веб-служб.
Он также содержит некоторые функции, чтобы упростить процесс реализации различных потоков аутентификации.
Документация по типам членов
Перечисление QAbstractOAuth::ContentType
Указывает MIME Content-Type методов POST в аутентифицированных вызовах.
| Постоянная | Значение | Описание |
|---|---|---|
QAbstractOAuth::ContentType::WwwFormUrlEncoded |
0 |
Использует формат application/x-www-form-urlencoded. |
QAbstractOAuth::ContentType::Json |
1 |
Использует формат application/json. |
перечисление QAbstractOAuth::Ошибка
Указывает последнюю полученную ошибку.
| Постоянная | Значение | Описание |
|---|---|---|
QAbstractOAuth::Error::NoError |
0 |
Ошибка не произошла. |
QAbstractOAuth::Error::NetworkError |
1 |
Не удалось подключиться к серверу. |
QAbstractOAuth::Error::ServerError |
2 |
Сервер ответил на запрос с ошибкой. |
QAbstractOAuth::Error::OAuthTokenNotFoundError |
3 |
Ответ сервера на запрос токена не содержит идентификатора токена. |
QAbstractOAuth::Error::OAuthTokenSecretNotFoundError |
4 |
Ответ сервера на запрос токена не содержит секрета токена. |
QAbstractOAuth::Error::OAuthCallbackNotVerified |
5 |
Сервер авторизации не проверил предоставленный в запросе callback URI. Это обычно происходит, когда предоставленный callback не соответствует callback, предоставленному во время регистрации клиента. |
перечисление QAbstractOAuth::Этап
Идентифицирует этап аутентификации. Передается в modifyParametersFunction, чтобы он мог вносить различные изменения в параметры при каждом вызове во время процесса аутентификации.
| Постоянная | Значение | Описание |
|---|---|---|
QAbstractOAuth::Stage::RequestingTemporaryCredentials |
0 |
Подготовка запроса временных учетных данных. |
QAbstractOAuth::Stage::RequestingAuthorization |
1 |
Подготовка URL для запроса разрешения на предоставление доступа. |
QAbstractOAuth::Stage::RequestingAccessToken |
2 |
Подготовка запроса токена. |
QAbstractOAuth::Stage::RefreshingAccessToken |
3 |
Подготовка обновления токена доступа. |
перечисление QAbstractOAuth::Статус
Указывает текущий статус аутентификации.
| Постоянная | Значение | Описание |
|---|---|---|
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::ТипСодержимого
Это свойство содержит Content-Type для использования при отправке параметров авторизации.
Это свойство контролирует форматирование параметров при отправке с помощью запроса POST. Также добавляется соответствующий заголовок.
Функции доступа:
| QAbstractOAuth::ТипСодержимого | contentType() const |
| void | setContentType(QAbstractOAuth::ТипСодержимого contentType) |
Сигнал уведомления:
| void | contentTypeChanged(QAbstractOAuth::ТипСодержимого contentType) |
[read-only] дополнительныеТокены : const QVariantMap
Это свойство содержит дополнительные токены, полученные от сервера.
Функции доступа:
| QVariantMap | extraTokens() const |
Сигнал уведомления:
| void | extraTokensChanged(const QVariantMap &tokens) |
[read-only] статус : const Статус
Это свойство содержит текущий статус аутентификации.
Функции доступа:
| QAbstractOAuth::Статус | статус() const |
Сигнал уведомления:
| void | statusChanged(QAbstractOAuth::Статус status) |
Документация функций-членов
[signal] void QAbstractOAuth::авторизоватьСБраузером(const QUrl &url)
Этот сигнал генерируется, когда url, сгенерированная функцией resourceOwnerAuthorization(), готова к использованию в веб-браузере для предоставления приложению возможности действовать от имени пользователя.
См. также resourceOwnerAuthorization().
[pure virtual slot] void QAbstractOAuth::предоставить()
Переопределите эту функцию, чтобы реализовать соответствующий поток аутентификации в подклассах. Код клиента вызывает эту функцию для запуска процесса аутентификации. Это может потребовать взаимодействия с пользователем: например, запросить разрешение пользователя через веб-браузер. При успешной аутентификации должен быть отправлен сигнал granted; это уведомление о том, что учетные данные готовы к использованию в аутентифицированных вызовах.
[signal] void QAbstractOAuth::предоставлено()
Этот сигнал генерируется, когда поток авторизации завершен успешно.
[virtual] QAbstractOAuth::~QAbstractOAuth()
Уничтожает абстрактный OAuth.
QUrl QAbstractOAuth::authorizationUrl() const
Возвращает URL запроса авторизации.
Примечание: Функция-получатель для свойства authorizationUrl.
См. также setAuthorizationUrl().
[protected] QString QAbstractOAuth::callback() const
Возвращает текущую строку callback, соответствующую текущему обработчику ответа. Возвращаемая строка — это строка, отправляемая на сервер для указания callback URI или слово, идентифицирующее альтернативный метод в бессерверных устройствах.
См. также replyHandler() и setReplyHandler().
QString QAbstractOAuth::clientIdentifier() const
Возвращает текущий идентификатор клиента, используемый в процессе аутентификации.
Примечание: Функция-получатель для свойства clientIdentifier.
См. также setClientIdentifier().
QAbstractOAuth::ТипСодержимого QAbstractOAuth::contentType() const
Возвращает текущий Content-Type, используемый в аутентифицированных вызовах.
Примечание: Функция-получатель для свойства contentType.
См. также setContentType() и post().
[pure virtual invokable] QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос DELETE и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: DELETE
Примечание: Эта функция может быть вызвана через метаобъектную систему и из QML. См. Q_INVOKABLE.
QVariantMap QAbstractOAuth::extraTokens() const
Возвращает дополнительные токены, полученные от сервера во время аутентификации.
Примечание: Функция-геттер для свойства extraTokens.
См. также extraTokensChanged().
[static protected] QByteArray QAbstractOAuth::generateRandomString(quint8 length)
Генерирует случайную строку, которая может быть использована в качестве состояния или nonce. Параметр length определяет размер сгенерированной строки.
См. также: The OAuth 1.0 Protocol: Nonce and Timestamp.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос GET и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: GET
Примечание: Эта функция может быть вызвана через метаобъектную систему и из QML. См. Q_INVOKABLE.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос HEAD и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- 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 используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: POST
Примечание: Эта функция может быть вызвана через метаобъектную систему и из QML. См. Q_INVOKABLE.
[pure virtual, since 5.13] void QAbstractOAuth::prepareRequest(QNetworkRequest *request, const QByteArray &verb, const QByteArray &body = QByteArray())
Авторизует данный запрос request, добавив в него заголовок и тело, необходимые для аутентифицированных запросов.
verb должен быть допустимым HTTP-глаголом и таким же, как будет использован для отправки request.
Функция была добавлена в Qt 5.13.
[pure virtual invokable] QNetworkReply *QAbstractOAuth::put(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос PUT и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: PUT
Примечание: Эта функция может быть вызвана через метаобъектную систему и из QML. См. Q_INVOKABLE.
QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const
Возвращает обработчик ответов, который используется в данный момент.
См. также setReplyHandler() и QAbstractOAuthReplyHandler.
[virtual protected] void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QMultiMap<QString, QVariant> ¶meters)
Строит URL для авторизации владельца ресурса, который будет использован в веб-браузере. url используется как базовый URL, а запрос создаётся с помощью parameters. Когда URL готов, будет испущен сигнал authorizeWithBrowser() с сгенерированным URL.
См. также 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)
Устанавливает текущий Content-Type на 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
Возвращает текущий статус аутентификации.
Примечание: Метод-геттер для свойства status.
См. также setStatus() и Status.
QString QAbstractOAuth::token() const
Возвращает токен, используемый для подписи аутентифицированных запросов.
Примечание: Метод-геттер для свойства token.
См. также setToken().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qabstractoauth.html