Как stackoverflow поддерживает базу данных зарегистрированных пользователей Open-id? - PullRequest
4 голосов
/ 15 ноября 2010

Я хотел бы знать, как Stackoverflow поддерживает дополнительную информацию о пользователях, которые входят в систему, используя open-ids ? Насколько мне известно, данные об этих пользователях хранятся на сервере Google, Facebook и т. Д. (Те, чей открытый идентификатор используется). Как тогда этот сайт также хранит информацию о пользовательских баллах, значках, привилегиях и т. Д.?

Open id Selector , который используется Stackoverflow, является библиотекой JavaScript на стороне клиента, так как это возможно?

Создана ли отдельная база данных? Если да, то как? Нет даже регистрации!

Пожалуйста, опишите подробно, как это делается.

1 Ответ

4 голосов
/ 15 ноября 2010

Когда вы входите в систему, сервер проверяет, есть ли у вас учетная запись.Если запись отсутствует (это самый первый вход в систему), сервер автоматически создаст нового пользователя и сохранит идентификатор openid.

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

JavaScript openid-selector не участвует ни в одном из этих действий.Это просто удобная функция, которая позволяет легко выбирать провайдера openid.Вся его магия выполняется до того, как произойдет волшебство openid.

...