Моя команда разработчиков пытается добавить функцию «Вход через Apple» в существующую систему, которая использует адрес электронной почты/пароль для создания учетной записи/входа в систему. Я не уверен, что понимаю порядок входа в систему с Apple, используя эту отправную точку .
В примере кода есть код для работы с ASPasswordCredential
, но он никогда не предоставляется в обратном вызове.
Он также сообщает разработчику, где создать учетную запись пользователя на его собственном бэкэнде, но наш бэкэнд имеет простую конечную точку регистрации, для которой требуется адрес электронной почты, полное имя пользователя и, конечно же, пароль.
Я что-то здесь не понял? Предполагается ли, что вход в систему с помощью Apple Flow предоставит мне пароль, который я использую для создания пользователя, или я должен создать пользователя другим способом? Будет ли этот код работать только в том случае, если я выполнил шаги по настройке автозаполнения паролей (т. е. файла AASA, настройки связанных доменов и т. д.)?
Я не предоставил здесь код, поскольку предполагаю, что есть и другие, которые проходят те же шаги, учитывая ссылку выше, и мой вопрос имеет высокий уровень. (Я могу обновить свой ответ, чтобы добавить больше контекста вместо того, чтобы страдать от отрицательных голосов... просто дайте мне знать, спасибо!)
В этом разделе страницы, на которую вы указали, рассказывается, что делать. Вам предоставляется уникальная идентификационная информация для зарегистрировавшегося пользователя. Ваша задача — сохранить это, чтобы вы могли узнать этого пользователя при следующем входе в систему.
но наш сервер имеет простую конечную точку регистрации, для которой требуется адрес электронной почты, полное имя пользователя и, конечно же, пароль.
Вам нужно это изменить. Серверная часть не может требовать этого, потому что для пользователя, который зарегистрируется в Apple, вы этого не получите. В этом вся суть Sign Up With Apple: эта информация не попадает в ваши руки.
Другими словами, весь ваш поток должен адаптироваться к двум типам пользователей: тем, кто регистрируется у вас, и тем, кто регистрируется в Apple. Некоторые функции вашего потока, возможно, придется запретить пользователям, зарегистрировавшимся в Apple; например, если в вашем приложении есть функция смены пароля, вы не должны показывать ее пользователю, зарегистрировавшемуся в Apple, поскольку у вас нет пароля для этого пользователя.