Войти через Apple - как идентифицировать пользователя при повторной регистрации по реальной электронной почте - PullRequest
2 голосов
/ 21 октября 2019

Я немного растерялся из-за документации и того, что в описании переменной при регистрации в Apple. Допустим, у нас есть сценарий:

  1. Пользователь Sign in with Apple с использованием фальшивый / сгенерированный адрес электронной почты.
  2. Пользователь переключает устройства или использует другое устройство с моим приложением.
  3. Он делает Sign in with Apple, но с реальным адресом электронной почты.

enter image description here

Вопрос:Как узнать, что это тот же пользователь в моей базе данных?

Приведенные выше документы предполагают, что 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 ...

...