C Builder TWebBrowser не работает с логином Google OAuth

#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.

Мощный компонент WebView на основе Chromium для размещения веб-контента в ваших приложениях Delphi / C Builder FireMonkey