LINUX.ORG.RU

Qt oauth2 авторизация

 , ,


0

1

День добрый. Делаю авторизацию на qt.

    oauth2.setReplyHandler(replyHandler);
    oauth2.setAuthorizationUrl(auth_url);
    oauth2.setAccessTokenUrl(access_token_url);
    oauth2.setClientIdentifier(client_id);
    oauth2.setClientIdentifierSharedKey(client_code);
    oauth2.setModifyParametersFunction([](QAbstractOAuth::Stage stage, QVariantMap *parameters) {
        (*parameters)["redirect_uri"] = QUrl("https://127.0.0.1:17801/");
    });

   connect(&oauth2, &QOAuth2AuthorizationCodeFlow::authorizeWithBrowser, &QDesktopServices::openUrl);

Проблема в том, что при получении токена и редиректе на 127.0.0.1 соединение не слушается на https. Только на http. Соответственно, что можно сделать? Юзать webview или переписывать QOAuthHttpServerReplyHandler и QOAuthHttpServerReplyHandlerPrivate не очень то хочется.


Ответ на: комментарий от TX4D

Если для работы - то я бы сделал мимо Qt. Если из чувства прекрасного - то пожалуйста, баг - есть, закинь патч пройди ревью. Судя по коду - им не то чтобы положить, просто нестандартные сценарии их не особо интересуют, либо не хватает ресурсов (последние окололицензионые события должны были отпугнуть львиную долю контрибьютеров).

pon4ik ★★★★★ ()
Ответ на: комментарий от TX4D

Вообще всё что с Qt связано имеет весьма плохую поддержку, если шаг влево-шаг вправо. Хоть биндинги к питону смотри (Qml есть, а выбор стиля через костыль в аргументах командной строки для material), хоть родную крестовую либу (ssl). А всё потому что принято свои велосипеды и подпорки писать там.

peregrine ★★★★★ ()
Ответ на: комментарий от peregrine

Не смотрел сорцы gtk пока-что, но в Qt всё, что не касается их объектной системы, виджетов, xml и баз данных (в общем всё, что было после троллей и нокии) писанно левой пяткой пьяного индуса. Чем ближе к системщине, тем больше принимал на грудь индус.

pon4ik ★★★★★ ()