Как мы исправили проблему авторизации через Google на iOS

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Сегодня хочу поделиться опытом исправления проблемы в библиотеке от Google.

Предыстория
У нас есть корпоративное приложение MyInnowise (доступно только сотрудникам компании), где для авторизации мы берем google_sign_in. Пользоваться да радоваться бы, но не тут-то было.

Мы столкнулись с проблемой: в Safari на iPhone возникала ошибка 403, если у пользователя добавлен только один личный аккаунт, при этом добавить новый ему не предлагалось. Процесс можно было исправить, только если в настройках удалить аккаунт или добавить второй. Ну такое.

Сама история
Мы узнали, какие изменения надо внести в iOS код библиотеки, ура! Но вот то, как исправленный pod использовать в package, по-прежнему оставалось загадкой. Так что мы собрали целый консилиум Flutter-разработчиков: сначала пытались решить проблему именно на стороне плагина, но потерпели неудачу, т.к. pod файл был закрытым и не содержал открытого кода.

Затем мы заглянули на GitHub, но нашли открытый исходный код только для версий от 6.0.0 и выше - и этого было достаточно, чтобы продвинуть нас в решении проблемы.

У нас появился открытый код библиотеки, и мы смогли внести нужные изменения, добавить promt=select_account параметр. Оставалось только научить Flutter package использовать этот pod.

Мы подключили наш pod вместо оригинального в google_sign_in podspec. И....потерпели неудачу. Увы, код, написанный для Flutter-плагина, умел работать именно с 5.0.0 версией. Мы не сдались и внесли нужные изменения в plugin по гайду миграции ииииии... наш проект наконец-то собрался! После нескольких этапов дебагга и проверки баг наконец был повержен.

Ну и самое главное: нашу версию библиотеки можно найти тут

Источник: https://habr.com/ru/post/686730/


Интересные статьи

Интересные статьи

Оперативное управление складскими операциями и контроль качества работы персонала — первостепенная задача компаний в области хранения товаров. Предлагаем рассмотреть, как решаются задачи складского уп...
Собрали «классические» и нетривиальные ИБ-инциденты, о которых писали в зарубежных и российских СМИ. Август запомнился мстителем, раскрывшим темные дела хакерской группировки, сливом ПДн от Wildberrie...
Скоро выходит Android 12, но в этом августе уже с 11-й версии разработчикам придётся использовать новые стандарты доступа приложений к внешним файлам. Если раньше можно б...
Обеспокоенным вебмастерам с большим количеством «битых» ссылок в Google Search Console можно расслабиться. Оказывается, когда почти половина страниц сайта отзывается 404-й ошибкой — это н...
Итак, собственно проблема: порой у нас в проекте есть много похожих компонентов, с одинаковой логикой, одинаковыми DI, свойствами итд и возникает мысль: а почему бы не вынести все это дел...