В моем приложении iOS при первом запуске пользователь может войти в систему тремя способами: электронной почтой/паролем, Facebook или Twitter. Регистрация с каждым из них приведет к созданию 3 разных пользователей. Позже в моем приложении у пользователя должна быть возможность связать аккаунты. Например, если он выполнил вход с помощью электронной почты/передачи, то он должен уметь связывать Facebook и Twitter.Связать существующий PFUser Facebook и Twitter с Parse on iOS
Parse native -linkInBackground отлично работает, если у нас есть только один пользователь, который является почтой/паролем. Но если у нас уже будет создана учетная запись Facebook или Twitter, Parse SDK ответит с ошибкой, сказав, что эта учетная запись уже связана с социальной. Сначала я думал, что я понял, обходной путь:
- Сохранить старые пользовательские данные
- Удаление старого пользователя
- Войти (не ссылку) с социальным (например, Facebook)
- Заполните все данные от сохраненного пользователя до нового.
Все прошло хорошо с одной социальной, но оказалось, что поле «authData», которое очень важно в моем подходе, не содержится в [PFUser currentUser]. И поэтому, несмотря на то, что все другие данные успешно переданы, authData не передается, поэтому у нас нет данных аутентификации старого пользователя.
Вопрос: есть ли способ получить authData из Parse, или есть ли «законный» способ достичь моей первоначальной цели слияния (связывания) двух (трех) пользователей?
Я понимаю это, но есть ли способ обходного пути? Вопрос довольно распространен, и я не видел много подобных вопросов без ответа. – lonlywolf
Поскольку вы не можете получить доступ к данным, вы не можете объединить учетные записи пользователей. Обсудите с синтаксисом, если вы хотите, чтобы это сделать. В противном случае вам необходимо запретить пользователям делать это или каким-либо образом связать пользователей с группой. – Wain
Это проблема, с которой я столкнулся, и я не нашел окончательного решения во всех потоках чтения. Как мы можем связать существующий PFUser с пользователем Facebook? Различные методы «ссылки» работают с PFUser.currentUser(), но (по крайней мере, в моем случае) всегда терпят неудачу, когда я предоставляю пользователю запрос из таблицы «Пользователи». Зачем? Самое близкое, что я могу получить, это создать нового пользователя и скопировать данные из моего существующего пользователя (того, который найден в таблице «Пользователи»). Но это не будет работать с пользователями, созданными при регистрации имени пользователя и пароля, так как я не могу скопировать пароль. Невероятно разочаровывает. – mrwheet