Как мы регистрируем пользователей — пользователей Facebook Connect, входящих в систему в первый раз, — если мы не можем получить адрес электронной почты от facebook?

StackOverflow https://stackoverflow.com/questions/1220144

Вопрос

Facebook Connect обеспечивает очень ограниченное общение и доступ к информации пользователя.

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

Единственная проблема - регистрация (MembershipService.Создайте пользователя (имя пользователя, пароль, адрес электронной почты)) требуется указать адрес электронной почты, к которому у нас нет доступа.(Мы позволяем им выбрать имя пользователя, прежде чем связывать учетные записи).

Как бы вы зарегистрировали пользователя, не зная его адреса электронной почты?

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

Это было полезно?

Решение

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

По-прежнему разрешайте пользователю пользоваться вашим веб-сайтом, но всегда сообщайте ему, что он еще не завершил регистрацию.

Это так же, как Stack Overflow, вам не нужно регистрировать у них свой адрес электронной почты, если вы не хотите получать по электронной почте обновления по вашим опубликованным вопросам и т. Д

Спасибо

Другие советы

Удалите требование, чтобы пользователь предоставил адрес электронной почты. В конце концов, у них тоже не будет пароля, поэтому вам все равно придется сменить CreateUser. Если пользователь делает что-то, что потребует обратной связи с ним, запросите по электронной почте в это время - или подождите, пока Facebook выполнит " отправку уведомлений пользователю-пользователю " в API fbconnect и отправляйте почту через сам Facebook.

Я согласен с "частичным" решением вышеприведенного плаката.Возможно, поскольку "идентификатор пользователя" Facebook BIGINT уникален, вы могли бы заполнить поле электронной почты 123456789@facebook.com (fb_user_id@facebook.com), указав, что электронное письмо предоставлено Facebook.У вас нет прямого доступа к адресу электронной почты пользователя FB, так что на самом деле обойти это невозможно.Вы могли бы просто добавить нулевую или пустую строку для пароля.Честно говоря, однако, не похоже, что ваша таблица пользователей очень хорошо настроена для facebook connect.Есть какой-нибудь способ переписать?Таким образом, запись пользователя может быть либо

MembershipService.CreateUser(username, password, email)

или

MembershipService.CreateUser(facebook_user_id)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top