Рабочий процесс регистрации пользователя для авторизации Oauth

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

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

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

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


person Jeele Yah    schedule 10.03.2011    source источник


Ответы (1)


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

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

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

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

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

person luben    schedule 12.03.2011