#google-oauth #c builder #twebbrowser
#google-oauth #c builder #twebbrowser
Вопрос:
Я поддерживаю приложение, написанное на C Builder 2009. Частично это связано с использованием TWebBrowser
элемента управления (на основе Internet Explorer) для отправки пользователей на страницу входа в Google для получения ключа OAuth. Какое-то время это работало хорошо, но теперь Google, благослови их сердца, внедрил какое-то обновление безопасности, и теперь мои пользователи попадают на страницу с надписью «Не удалось войти в систему, возможно, этот браузер или приложение небезопасны». К вашему сведению, я уже устанавливаю раздел реестра, который должен заставить IE работать в режиме эмуляции версии 11.
У меня есть несколько обходных путей: если пользователь сначала запускает IE в режиме администратора, входит в систему, оставляет его включенным во время запуска моего приложения, мы не получаем проблемы. Во-вторых, я могу запустить браузер по умолчанию — Chrome, IE, что угодно — и отправить их на URL для OAuth, тогда это позволяет избежать сообщения об ошибке.
Проблема с этим решением заключается в том, что, не имея возможности подключаться к TWebBrowser
событиям, у меня нет никакого способа автоматического извлечения ключа OAuth — пользователю необходимо вырезать / вставить его в мое приложение. Я бы хотел избежать этих неуклюжих решений.
Я также должен упомянуть, что эта проблема возникает только для определенных учетных записей Gmail. Я понятия не имею, в чем разница между учетными записями, которые работают и не работают. Есть идеи по этому поводу?
Итак, есть ли какой-либо способ настроить IE или TWebBrowser
обойти эту проблему безопасности? Или, если бы я обновился до современной версии C Builder и использовал TWebBrowser
(или что-то еще?), Можно ли было бы избежать этой проблемы? Есть другие идеи по устранению этой проблемы?
Ответ №1:
Последний C Builder поддерживает движок Chromium от Google, поэтому, вероятно, можно с уверенностью сказать, что он будет совместим с обновлениями безопасности Google.