Положитесь на идентификатор пользователя Facebook в качестве постоянного идентификатора пользователя - PullRequest
2 голосов
/ 24 июля 2011

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

В качестве альтернативы мы можем использовать идентификационные данные людей Facebook, то есть они будут входить в нашу систему, используя адрес электронной почты и пароль Facebook.Затем наш сервер получит идентификатор пользователя Facebook (Graph ID) и сохранит его в БД.Любые данные, которые пользователь изменит / загрузит в приложение, будут связаны с этим идентификатором.

Вопрос в том, можем ли мы доверять идентификатору как постоянному идентификатору и строить вокруг него сложный бэкэнд.Как мы можем быть уверены, что Facebook не изменит чей-то идентификатор?

Другие системы управления удостоверениями, такие как Azure Access Control, используют этот идентификатор?

1 Ответ

4 голосов
/ 24 июля 2011

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

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

...