Класс QAbstractOAuth
Класс QAbstractOAuth — базовый для всех реализаций методов аутентификации OAuth. Подробнее...
| Заголовок: | #include <QAbstractOAuth> |
| qmake: | QT += networkauth |
| С момента: | Qt 5.8 |
| Наследует: | QObject |
| Наследуется от: |
Открытые типы
| перечисление | ContentType { WwwFormUrlEncoded, Json } |
| перечисление | Ошибка { НетОшибки, ОшибкаСети, ОшибкаСервера, ОшибкаOAuthToken, ОшибкаOAuthTokenSecret, OAuthCallbackНеПроверен } |
| typedef | ModifyParametersFunction |
| перечисление | Этап { ЗапросВременныхУтверждений, ЗапросАвторизации, ЗапросТокенаДоступа, ОбновлениеТокенаДоступа } |
| перечисление | Статус { НеАвторизован, ПолученыВременныеУтверждения, Авторизован, ОбновлениеТокена } |
Свойства
- authorizationUrl : QUrl
- contentType : QAbstractOAuth::ContentType
- extraTokens : const QVariantMap
- статус : const Статус
- 1 свойство унаследовано от QObject
Открытые функции
| виртуальный | ~QAbstractOAuth() |
| QUrl | authorizationUrl() const |
| виртуальная QString | clientIdentifier() const = 0 |
| ContentType | contentType() const |
| виртуальный QNetworkReply * | deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| QVariantMap | extraTokens() const |
| виртуальный QNetworkReply * | get(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| виртуальный QNetworkReply * | head(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| ModifyParametersFunction | modifyParametersFunction() const |
| QNetworkAccessManager * | networkAccessManager() const |
| виртуальный QNetworkReply * | post(const QUrl &url, const QVariantMap ¶meters = QVariantMap()) = 0 |
| QAbstractOAuthReplyHandler * | replyHandler() const |
| void | setAuthorizationUrl(const QUrl &url) |
| виртуальный void | setClientIdentifier(const QString &clientIdentifier) = 0 |
| void | setContentType(ContentType contentType) |
| void | setModifyParametersFunction(const ModifyParametersFunction &modifyParametersFunction) |
| void | setNetworkAccessManager(QNetworkAccessManager *networkAccessManager) |
| void | setReplyHandler(QAbstractOAuthReplyHandler *handler) |
| виртуальный void | setToken(const QString &token) = 0 |
| Статус | status() const |
| виртуальная QString | token() const = 0 |
- 32 открытые функции, унаследованные от QObject
Открытые слоты
| виртуальный void | grant() = 0 |
- 1 открытый слот, унаследованный от QObject
Сигналы
| void | authorizationUrlChanged(const QUrl &url) |
| void | authorizeWithBrowser(const QUrl &url) |
| void | clientIdentifierChanged(const QString &clientIdentifier) |
| void | contentTypeChanged(ContentType contentType) |
| void | extraTokensChanged(const QVariantMap &tokens) |
| void | finished(QNetworkReply *reply) |
| void | granted() |
| void | replyDataReceived(const QByteArray &data) |
| void | requestFailed(const Error error) |
| void | statusChanged(Status status) |
| void | tokenChanged(const QString &token) |
- 2 сигнала, унаследованные от QObject
Защищенные функции
| QAbstractOAuth(QAbstractOAuthPrivate &, QObject *parent = nullptr) | |
| QString | callback() const |
| виртуальный void | resourceOwnerAuthorization(const QUrl &url, const QVariantMap ¶meters) |
| void | setStatus(Status status) |
- 9 защищенных функций, унаследованных от QObject
Статические защищенные члены
| QByteArray | generateRandomString(quint8 length) |
Дополнительные унаследованные члены
- 11 статических общедоступных членов, унаследованных от QObject
Подробное описание
Класс QAbstractOAuth является основой всех реализаций методов аутентификации OAuth.
Класс определяет базовый интерфейс классов аутентификации OAuth. Наследуя этот класс, вы можете создавать пользовательские методы аутентификации для различных веб-сервисов.
Он также содержит некоторые функции, которые упрощают процесс реализации различных потоков аутентификации.
Документация по типам членов
enum QAbstractOAuth::ContentType
Указывает MIME Content-Type для POST-методов в аутентифицированных вызовах.
| Константа | Значение | Описание |
|---|---|---|
QAbstractOAuth::WwwFormUrlEncoded |
0 |
Использует формат application/x-www-form-urlencoded. |
QAbstractOAuth::Json |
1 |
Использует формат application/json. |
enum QAbstractOAuth::Error
Указывает последний полученный код ошибки.
| Константа | Значение | Описание |
|---|---|---|
QAbstractOAuth::NoError |
0 |
Ошибка не произошла. |
QAbstractOAuth::NetworkError |
1 |
Не удалось подключиться к серверу. |
QAbstractOAuth::ServerError |
2 |
Сервер ответил на запрос с ошибкой. |
QAbstractOAuth::OAuthTokenNotFoundError |
3 |
В ответе сервера на запрос токена отсутствует идентификатор токена. |
QAbstractOAuth::OAuthTokenSecretNotFoundError |
4 |
В ответе сервера на запрос токена отсутствует секрет токена. |
QAbstractOAuth::OAuthCallbackNotVerified |
5 |
Сервер авторизации не проверил предоставленный в запросе URI обратного вызова. Это обычно происходит, когда предоставленный обратный вызов не соответствует обратному вызову, предоставленному во время регистрации клиента. |
typedef QAbstractOAuth::ModifyParametersFunction
enum QAbstractOAuth::Stage
Идентифицирует этап аутентификации. Он передается в ModifyParametersFunction, чтобы можно было вносить различные изменения в параметры в каждом вызове во время процесса аутентификации.
| Константа | Значение | Описание |
|---|---|---|
QAbstractOAuth::RequestingTemporaryCredentials |
0 |
Подготовка запроса временных учетных данных. |
QAbstractOAuth::RequestingAuthorization |
1 |
Подготовка URL-адреса запроса на предоставление авторизации. |
QAbstractOAuth::RequestingAccessToken |
2 |
Подготовка запроса токена. |
QAbstractOAuth::RefreshingAccessToken |
3 |
Подготовка обновления токена доступа. |
enum QAbstractOAuth::Status
Указывает текущий статус аутентификации.
| Константа | Значение | Описание |
|---|---|---|
QAbstractOAuth::NotAuthenticated |
0 |
Токен не получен. |
QAbstractOAuth::TemporaryCredentialsReceived |
1 |
Временные учетные данные получены, этот статус используется в некоторых методах аутентификации OAuth. |
QAbstractOAuth::Granted |
2 |
Учетные данные токена получены и разрешены аутентифицированные вызовы. |
QAbstractOAuth::RefreshingToken |
3 |
Запрошены новые учетные данные токена. |
Документация по свойствам
authorizationUrl : QUrl
Это свойство содержит URL-адрес, используемый для запроса авторизации владельца ресурса, как описано в: Протокол OAuth 1.0: Авторизация владельца ресурса
Функции доступа:
| QUrl | authorizationUrl() const |
| void | setAuthorizationUrl(const QUrl &url) |
Сигнал уведомления:
| void | authorizationUrlChanged(const QUrl &url) |
contentType : QAbstractOAuth::ContentType
Это свойство содержит Content-Type, который следует использовать при отправке параметров авторизации.
Это свойство управляет тем, как параметры форматируются при отправке с запросом POST. Также добавляется соответствующий заголовок.
Функции доступа:
| ContentType | contentType() const |
| void | setContentType(ContentType contentType) |
Сигнал уведомления:
| void | contentTypeChanged(ContentType contentType) |
extraTokens : const QVariantMap
Это свойство содержит дополнительные токены, полученные от сервера.
Функции доступа:
| QVariantMap | extraTokens() const |
Сигнал уведомления:
| void | extraTokensChanged(const QVariantMap &tokens) |
status : const Status
Это свойство содержит текущий статус аутентификации.
Функции доступа:
| Status | status() const |
Сигнал уведомления:
| void | statusChanged(Status status) |
Документация по функциям-членам
[protected] QAbstractOAuth::QAbstractOAuth(QAbstractOAuthPrivate &, QObject *parent = nullptr)
Копирующий конструктор.
[virtual] QAbstractOAuth::~QAbstractOAuth()
Удаляет абстрактный объект OAuth.
QUrl QAbstractOAuth::authorizationUrl() const
Возвращает URL-адрес запроса авторизации.
Примечание: Функция-геттер для свойства authorizationUrl.
См. также setAuthorizationUrl().
[signal] void QAbstractOAuth::authorizeWithBrowser(const QUrl &url)
Этот сигнал генерируется, когда url, сгенерированный функцией resourceOwnerAuthorization(), готов к использованию в веб-браузере для предоставления приложению возможности действовать от имени пользователя.
См. также resourceOwnerAuthorization().
[protected] QString QAbstractOAuth::callback() const
Возвращает текущую строку обратного вызова, соответствующую текущему обработчику ответа. Возвращаемая строка — это строка, отправленная на сервер для указания URI обратного вызова или слово, идентифицирующее альтернативный метод в бессерверных устройствах.
См. также replyHandler() и setReplyHandler().
[pure virtual] QString QAbstractOAuth::clientIdentifier() const
См. также setClientIdentifier().
END_OF_DOCUMENT_MARKER
[signal] void QAbstractOAuth::clientIdentifierChanged(const QString &clientIdentifier)
ContentType QAbstractOAuth::contentType() const
Возвращает текущий тип содержимого, используемый в аутентифицированных вызовах.
Примечание: Функция-геттер для свойства contentType.
См. также setContentType() и post().
[pure virtual] QNetworkReply *QAbstractOAuth::deleteResource(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос DELETE и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: DELETE
QVariantMap QAbstractOAuth::extraTokens() const
Возвращает дополнительные токены, полученные от сервера во время аутентификации.
Примечание: Функция-геттер для свойства extraTokens.
См. также extraTokensChanged().
[signal] void QAbstractOAuth::finished(QNetworkReply *reply)
[static protected] QByteArray QAbstractOAuth::generateRandomString(quint8 length)
Генерирует случайную строку, которая может быть использована в качестве состояния или nonce. Параметр length определяет размер сгенерированной строки.
См. также: The OAuth 1.0 Protocol: Nonce and Timestamp.
[pure virtual] QNetworkReply *QAbstractOAuth::get(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос GET и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: GET
[pure virtual slot] void QAbstractOAuth::grant()
Переопределите эту функцию, чтобы реализовать соответствующий поток аутентификации в подклассах. Код клиента вызывает эту функцию, чтобы начать процесс аутентификации. Это может потребовать взаимодействия с пользователем: например, запроса разрешения пользователя через веб-браузер. При успешной аутентификации следует вызывать сигнал granted(); это указывает, что учетные данные готовы к использованию в аутентифицированных вызовах.
[signal] void QAbstractOAuth::granted()
Этот сигнал испускается, когда поток авторизации завершается успешно.
[pure virtual] QNetworkReply *QAbstractOAuth::head(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос HEAD и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: HEAD
ModifyParametersFunction QAbstractOAuth::modifyParametersFunction() const
Возвращает текущую функцию модификации параметров.
См. также ModifyParametersFunction, setModifyParametersFunction() и Stage.
QNetworkAccessManager *QAbstractOAuth::networkAccessManager() const
Возвращает текущий менеджер сетевого доступа, используемый для отправки запросов на сервер во время потоков аутентификации или для выполнения аутентифицированных вызовов.
См. также setNetworkAccessManager() и QNetworkAccessManager.
[pure virtual] QNetworkReply *QAbstractOAuth::post(const QUrl &url, const QVariantMap ¶meters = QVariantMap())
Отправляет аутентифицированный запрос POST и возвращает новый QNetworkReply. url и parameters используются для создания запроса.
См. также: Hypertext Transfer Protocol -- HTTP/1.1: POST
[signal] void QAbstractOAuth::replyDataReceived(const QByteArray &data)
QAbstractOAuthReplyHandler *QAbstractOAuth::replyHandler() const
Возвращает обработчик ответов, который используется в данный момент.
См. также setReplyHandler() и QAbstractOAuthReplyHandler.
[signal] void QAbstractOAuth::requestFailed(const Error error)
[virtual protected] void QAbstractOAuth::resourceOwnerAuthorization(const QUrl &url, const QVariantMap ¶meters)
Создаёт URL для авторизации владельца ресурса, который будет использоваться в веб-браузере: url используется в качестве базового URL, а запрос создаётся с использованием parameters. Когда URL готов, будет испущен сигнал authorizeWithBrowser() с сгенерированным URL.
См. также authorizeWithBrowser().
void QAbstractOAuth::setAuthorizationUrl(const QUrl &url)
Устанавливает URL запроса авторизации на url. Этот адрес будет использован, чтобы разрешить пользователю предоставить приложению возможность выполнять аутентифицированные вызовы от имени пользователя.
Примечание: Функция-сеттер для свойства authorizationUrl.
См. также authorizationUrl().
[pure virtual] void QAbstractOAuth::setClientIdentifier(const QString &clientIdentifier)
См. также clientIdentifier().
void QAbstractOAuth::setContentType(ContentType contentType)
Устанавливает текущий тип содержимого на contentType.
Примечание: Функция-сеттер для свойства contentType.
См. также contentType().
void QAbstractOAuth::setModifyParametersFunction(const ModifyParametersFunction &modifyParametersFunction)
См. также modifyParametersFunction().
void QAbstractOAuth::setNetworkAccessManager(QNetworkAccessManager *networkAccessManager)
Устанавливает менеджер сети на networkAccessManager. QAbstractOAuth не получает владения networkAccessManager. Если менеджер сетевого доступа не задан, используется внутренний менеджер сетевого доступа. Этот менеджер сетевого доступа будет использоваться для отправки запроса на сервер аутентификации и аутентифицированного запроса к веб-сервису.
См. также networkAccessManager() и QNetworkAccessManager.
void QAbstractOAuth::setReplyHandler(QAbstractOAuthReplyHandler *handler)
Устанавливает текущий обработчик ответов на handler.
Примечание: не получает владения handler.
См. также replyHandler().
[protected] void QAbstractOAuth::setStatus(Status status)
Устанавливает текущий статус на status. Этот метод предназначен для использования классами, основанными на QAbstractOAuth.
См. также status().
[pure virtual] void QAbstractOAuth::setToken(const QString &token)
См. также токен().
Статус QAbstractOAuth::status() const
Возвращает текущий статус аутентификации.
Примечание: Функция-геттер для свойства статус.
См. также setStatus() и Статус.
[pure virtual] QString QAbstractOAuth::token() const
См. также setToken().
[signal] void QAbstractOAuth::tokenChanged(const QString &token)
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qabstractoauth.html