Наличие веб-сайта и входа в Facebook вместе

Я создаю веб-сайт, на который люди могут отправлять смс с моего веб-сайта, я хочу реализовать вход через facebook на свой веб-сайт, и любой, кто входит на мой веб-сайт, используя свою учетную запись facebook и не имеет учетной записи на моем веб-сайте, я хочу создать для него. так как позже он должен ввести свой номер телефона и подтвердить номер, а без учетной записи на моем веб-сайте это невозможно. теперь проблема в том, что если я использую его имя пользователя facebook для создания учетной записи, это может привести к дублированию имени (поскольку кто-то другой мог получить это имя пользователя).

Я, конечно, объединяю информацию существующих учетных записей, когда кто-то использует учетную запись facebook, у которой уже есть учетная запись на моем веб-сайте. это не проблема.

что бы вы посоветовали?
заранее спасибо.


person Ashkan Mobayen Khiabani    schedule 17.10.2012    source источник


Ответы (2)


Не используйте имя пользователя Facebook в качестве столбца userName вашей базы данных пользователей. Вы можете получить много другой уникальной информации от пользователя Facebook, например адрес электронной почты или идентификатор Facebook. Используйте их для «соединения» между информацией из вашей базы данных и информацией, которую вы получаете от Facebook.

Например:

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

В таблице сведений о пользователе просто добавьте столбец facebookEmail, затем, после того, как вы внедрите API входа в Facebook и логин пользователя, проверьте, есть ли его электронная почта (от facebook) в вашей таблице.

person Alon Adler    schedule 17.10.2012
comment
Вы правы. Вот как я намерен объединить учетные записи. но какое должно быть имя пользователя учетной записи, которая входит в систему с facebook. Я думаю, что было бы разумно оставить это поле пустым, пока пользователь не захочет войти с веб-сайта. правильно? - person Ashkan Mobayen Khiabani; 17.10.2012
comment
Дайте ему возможность также выбрать имя пользователя для вашего сайта, чтобы он также мог войти через ваш сайт и Facebook. На мой взгляд, лучше дать ему 2 варианта входа, чем заставлять его использовать один тип входа. Если вы все еще хотите принудительно войти в систему Facebook, вы можете отобразить случайную строку и добавить ее в уникальный адрес электронной почты facebook — сохраните ее как имя пользователя, и у вас будет уникальное имя пользователя для вашей таблицы (в этом случае имя пользователя не имеет значения для вашего клиента, потому что он будет входить только через Facebook). - person Alon Adler; 17.10.2012
comment
Я живу в Иране, где facebook фильтруется, и только люди, которые используют антифильтры (а их много), могут получить доступ к facebook. поэтому иметь только вход в facebook не вариант. для тех, кто не использует антифильтры и может не иметь учетной записи facebook, должен быть вход на сайт. - person Ashkan Mobayen Khiabani; 17.10.2012
comment
Я дам ему возможность выбрать имя пользователя после того, как он войдет в систему с помощью Facebook. - person Ashkan Mobayen Khiabani; 17.10.2012

теперь проблема в том, что если я использую его имя пользователя facebook для создания учетной записи, это может привести к дублированию имени (поскольку кто-то другой мог получить это имя пользователя).

Ну, тогда либо встраивайте проверку, свободно ли имя пользователя, и если нет, предложите пользователю ввести другое; или

автоматически выбрал другое имя пользователя, например с помощью счетчика — если имя пользователя из Facebook foobar и оно уже занято, то проверьте, доступен ли foobar1 и т. д.

Если вы создаете его автоматически, возможно, вы захотите дать пользователю возможность изменить его впоследствии.

person CBroe    schedule 17.10.2012