Конфигурация настроек проекта
Важно: Если вы используете Xcode версии 15 и выше, убедитесь, что флаг ENABLE_USER_SCRIPT_SANDBOXING
в настройках вашего проекта установлен в значение NO
. Это обеспечит корректное выполнение скриптов сборки, которые могут быть необходимы для правильной работы SDK.
Конфигурация Info.plist для подключения к Сбер ID
Чтобы обеспечить стабильную работу вашего приложения с сервисами Сбер ID, необходимо выполнить настройку Info.plist. Это позволит поддерживать подключение даже в случае изменений со стороны сервера, связанных с сертификатами безопасности.
1. Разрешение нешифрованных запросов
Для обеспечения подключения к сервису Сбер ID в условиях, когда может быть изменена или отозвана валидность сертификатов безопасности на сервере, необходимо разрешить вашему приложению осуществлять нешифрованные запросы. Это не означает отказ от безопасности, а является гарантией стабильного подключения в любых условиях. В Info.plist добавьте следующие параметры:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>id.sber.ru</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
Это позволит приложению поддерживать работу с сервисом Сбер ID даже в случае изменений на стороне сертификатов безопасности сервера. Важно подходить к этой настройке с пониманием потенциальных рисков для безопасности и использовать ее только как временное решение или в условиях высокого доверия к сервису.
2. Регистрация кастомного URL Scheme для вашего приложения
Для того чтобы приложение Сбербанк Онлайн могло перенаправить пользователя обратно в ваше приложение после авторизации, необходимо зарегистрировать кастомный URL Scheme.
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.example.app</string>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>
Замените "myapp" на уникальный идентификатор, который будет использоваться как ваш URL Scheme. Это позволит SDK корректно возвращать пользователя в ваше приложение после процесса авторизации.
3. Разрешение запросов к приложениям для авторизации
Чтобы ваше приложение могло проверять наличие установленных приложений Сбербанк Онлайн для выбора метода авторизации через Сбер ID, в Info.plist добавьте конфигурацию для запроса URL-схем:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>sberbankidexternallogin</string>
<string>sbolidexternallogin</string>
<string>btripsexpenses</string>
<string>ios-app-smartonline</string>
</array>
Это позволит приложению идентифицировать, установлены ли приложения Сбербанк Онлайн на устройстве, и предложить пользователю авторизацию через них.