Связывание новых пользователей, вошедших через Facebook, подключается к существующим аккаунтам. - PullRequest
7 голосов
/ 24 февраля 2010

Я недавно ввел логин для подключения через Facebook. Теперь у пользователей есть 2 способа входа на сайт. Старый способ регистрации учетной записи и новый способ (Facebook Connect).

Одна вещь, которую я хотел бы сделать, - это привязать новую учетную запись пользователя Facebook для подключения к существующим учетным записям, если они вошли по-старому.

Кто-нибудь добился успеха в этом?

Ответы [ 2 ]

4 голосов
/ 24 февраля 2010

Очень хороший вопрос, я думаю, и многие люди получат пользу от ответа.

Что вам нужно помнить, так это то, что аккаунты связаны только до тех пор, пока им разрешено связываться через Facebook. Что вам нужно сделать, это сохранить вторую таблицу связанных учетных записей в вашей базе данных, чтобы вы знали, кто есть кто, и связаны ли они с Facebook.

Вам следует прочитать этот интеграционный комментарий, он содержит много полезной информации.

http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html

В действительности это не говорит о том, как что-то делать, но оно гарантирует, что вы отметите все, что вы должны делать .

е:

Регистрация должна завершиться неудачей, если пользователь отказывает разрешение на приложение (категория: подписать вверх)

Так как нам нужен доступ к электронной почте адрес, регистрация должна завершиться неудачно, если Пользователь предоставляет разрешение на публикацию, но отказывает в разрешении электронной почты (категория: зарегистрироваться)

Если пользователь указывает адрес электронной почты что уже существует в вашей системе, Не удалось зарегистрироваться. Убедитесь, что нет YouFace Бэкэнд-таблицы изменены (категория: подписывайтесь, 1: 1 маппинг) PS - когда это бывает, я не нашел для тебя пути деавторизовать YouFace на Имя пользователя Facebook. Пользователь должен сделайте это вручную, если они захотят использовать ту же учетную запись, но предоставить другой адрес электронной почты.

Аккаунты, созданные с помощью Facebook Connect не должен быть в состоянии войти используя электронную почту / пароль YouFace по умолчанию система входа (категория: вход, безопасность аккаунта). PS: с YouFace учетные записи требуют пароль и те, созданный с помощью Facebook Connect нет, убедитесь, что вставили случайный пароль хеш в свой стол, чтобы избежать глупости ошибки

Аккаунты, созданные с использованием YouFace, должны быть в состоянии войти без необходимости войти в Facebook, даже если когда ссылка на аккаунт в фейсбуке существует (категория: вход)

Еще много

1 голос
/ 13 декабря 2010

Вы должны запрашивать постоянный доступ через аутентификацию fb connect. После того, как вы это сделаете, вы получите токен, который дает вам разрешение на доступ к чьей-либо информации Facebook, и срок действия этого токена не истечет, если пользователь явно не удалит вас из списка разрешений или не изменит свой пароль.

Получив токен, свяжите этот токен с пользователем / создайте новое поле в пользовательской таблице для его хранения.

Чтобы связать пользователя с учетной записью Facebook без входа в систему, вы можете попробовать сопоставить по электронной почте. Это не на 100% точно, но довольно хорошо. Facebook не дает вам адреса электронной почты в текстовом виде, но вы можете получать хэши электронной почты от FQL. Поскольку вы уже знаете адреса электронной почты пользователей, вы можете вычислять хеш для всех ваших электронных писем пользователей и искать в своей базе данных совпадения каждый раз, когда новый пользователь Facebook Connect регистрируется.

...