Skip to main content

Sign in with Apple

В данной статье не будет подробного гайда по настройке и интеграции Sign in with Apple, а будут только ключевые моменты и ссылки на полезные статьи.

В каких случаях необходимо использовать

Приложения, использующие сторонние сервисы (например Facebook, Google или Twitter) для аутентификации основной учетной записи пользователя в приложении, также должны предлагать вход через Apple в качестве альтернативного варианта.

Приватные имейл адреса

Пользователь может выбрать опцию Hide my email. В этом случае вы получите его прокси имейл, созданный эпплом вида random_chars@privaterelay.appleid.com. На подмененный e-mail можно написать только с тех доменов, которые вы укажете в настройках на developer.apple.com. Принцип работы Private Email Relay Service и Инструкция по настройке описаны в документации от Apple.

Также следует предусмотреть возможность пользователя привязать аккаунт к уже существующему аккаунту. Так как из-за скрытого email адреса не получиться выполнить привязку автоматически.

Получение данных пользователя

Sign in with Apple получает имя и фамилию пользователя только один раз при самом первом логине. При попытках повторной авторизации можно получить только ID (уникальный идентификатор пользователя в Sign in with Apple). Плюс эти данные можно получить только на клиенте, у сервера нет доступа к этим данным.

Logout

У Sign in with Apple нету функции logout в классическом понимании этого слова. Библиотека не хранит никакие данные, в отличие от других библиотек входа, поэтому нет необходимости стирать данные, полученные при логине. Однако, если пользователь разорвал ассоциацию Apple ID с приложением в Settings (Settings/ Apple ID / Password & Security / Apple ID logins / Edit) вы должны выполнить logout в приложении / на сервере. Apple рекомендует проверять это на старте приложения с помощью ASAuthorizationAppleIDProvider().getCredentialState.

Дизайн кнопки

К дизайну кнопки есть целая пачка требований, все они описаны в Human Interface Guidelines.

Краткое изложение:

  • Нельзя использовать лого, отличное от того, что предоставляет Apple
  • Высота лого должна соответствовать высоте кнопки
  • Нельзя обрезать лого
  • Нельзя добавлять вертикальный отступ
  • Нельзя кастомизировать цвета лого
  • Использовать только шрифт системы
  • Размер шрифта должен составлять 43% от высоты кнопки

На других платформах

Sign in with Apple можно использовать не только в приложениях для операционных систем от Apple, но также в Android и web приложениях. Для этого нужно открыть специальную страницу авторизации от Apple.

Sign in with Apple для Enterprise аккаунтов

В разделе Supported capabilities (iOS) помощи по учетной записи разработчика указано, что Sign in with Apple недоступен при участии в корпоративной(Enterprise) программе Apple Developer.

Источники и полезные ссылки

Автор: @Dorofeev