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