Меня немного смущает документация и что находится в описании переменной при регистрации с помощью Яблоко. Допустим, у нас есть сценарий:
- Пользователь
Sign in with Apple
использует поддельный / сгенерированный адрес электронной почты. - Пользователь переключает устройства или использует другое устройство с моим приложением.
- Он делает
Sign in with Apple
, но с настоящим адресом электронной почты.
Вопрос: Как узнать, что это тот же пользователь в моей базе данных?
Связанные выше документы предполагают, что user
в объекте ASAuthorizationAppleIDCredential
- это ответ, который я ищу:
var user: String
Идентификатор, связанный с аутентифицированным пользователем.
Но также Xcode отображает это в описании переменной:
/ ** @abstract Непрозрачный идентификатор пользователя, связанный с AppleID, используемый для входа в систему. Этот идентификатор будет стабильным для всей «команды разработчиков», позже его можно будет использовать в качестве входных данных для @see ASAuthorizationRequest для запроса контактной информации пользователя.
Идентификатор останется стабильным, пока пользователь подключен к запрашивающему клиенту. Значение может измениться при отключении пользователя от поставщика удостоверений. * /
open var user: String {get}
Что на самом деле это означает в Sign in with Apple
этом as long as the user is connected with the requesting client
. Из этого описания я не уверен, может ли пользователь как-то отменить регистрацию или изменить это значение, или, может быть, это произойдет в случае переключения устройства?
Что я пробовал до сих пор ...
Я провел тест на устройстве и симуляторе, и user
значение осталось прежним в среде разработки, но не уверен, как это работает, IRL ...
Hide my email
в Войти через Apple. Я добавил скриншот для пояснения - person Jakub   schedule 31.10.2019