Рабочий процесс регистрации пользователя для авторизации Oauth - PullRequest
3 голосов
/ 10 марта 2011

PS: Я понимаю концепцию аутентификации OpenID и авторизации Oauth (я думаю).И я использую Facebook в качестве примера Oauth

На веб-сайтах часто просили вас «зарегистрироваться» посредством «входа в систему с помощью Facebook», но во время рабочего процесса регистрации (после получения разрешения и участника).информация из вашей учетной записи Facebook) они все еще просят вас выбрать имя пользователя и пароль.Это создает локального пользователя и «привязывает» этого пользователя к указанной учетной записи Facebook.

Но теперь я заметил, что во время процесса регистрации на таких сайтах, как buzzfeed и даже stackoverflow, они, похоже, выполняют полную аутентификацию с помощью facebook.Вы даете разрешение на доступ к веб-сайту своей учетной записи Facebook, и теперь вы вошли в систему (как своего рода пользователь Facebook)

update (исправлена ​​авторизация для аутентификации): означает ли это, что подключение к Facebook теперь выполняет «аутентификацию»?и означает ли это, что пользователи больше не хранятся локально?

1 Ответ

1 голос
/ 12 марта 2011

В случае stackoverflow, я думаю, что они создают учетную запись пользователя внутри, однако они создают имя пользователя от имени пользователя - как user1243534, если пользователь не указывает свою собственную. Эта внутренняя учетная запись используется для хранения всей информации, связанной со стековым потоком, для пользователя, которой нет в Facebook (или другом поставщике) - репутации, вопросов, ответов, всего.

Если в вашем случае вашему веб-приложению не нужно фиксировать ЛЮБЫЕ данные, относящиеся к пользователю, за исключением сеанса с некоторыми временными переменными сеанса (то, что он вошел в систему с помощью Facebook, его имени в Facebook и т. Д.), Вы можете опустите локальное хранилище пользователей и учетные записи. В этом случае ваше приложение потеряет все данные, связанные с пользователем, когда истечет срок его текущей сессии.

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

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

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

...