Проверка на допустимость авторизации по Сбер ID
Начиная с версии 2.0.0 в SDK реализована фоновая проверка на допустимость выполнения операции авторизации по Сбер ID, для этой проверки используется указанный в атрибуте app:clientId
вашей разметки идентификатор партнера. Если значение не будет указано в разметке либо проверка по этому значению выявит недопустимость авторизации, кнопка будет скрыта от пользователя. Значение для атрибута – ваш текущий client_id, который вы отправляете сейчас при нажатии на кнопку авторизации по Сбер ID в числе других параметров протокола OIDC.
В зависимости от особенностей верстки экрана авторизации на стороне партнера, может возникнуть ситуация, когда скрытие кнопки Сбер влияет на другие представления, их позиционирование или размеры. Для этого случая предусмотрен специальный механизм получения информации о факте скрытия кнопки и реализации в этом случае необходимой логики по адаптации UI.
В классе кнопки SberIDButton реализован новый публичный метод для регистрации наблюдателя за событием скрытия кнопки:
В качестве параметра метод принимает стандартный интерфейс Observer из пакета java.util, никаких дополнительных зависимостей для его использования подключать не нужно. В реализации этого интерфейса необходимо предусмотреть все действия, которые вам нужны для корректного отображения UI после скрытия кнопки Сбер ID. Рекомендуем регистрировать свой наблюдатель как можно раньше сразу после инициализации кнопки Сбер ID, чтобы минимизировать для пользователя возможные визуальные эффекты перерисовки UI после того, как контент уже становится видимым. При этом, если регистрация наблюдателя произойдет все-таки позже (уже после завершения проверок) то в случае скрытия кнопки результат будет доставлен сразу при регистрации.
Пример регистрации наблюдателя на стороне партнера: