Вход в систему в стиле OpenID, поддерживаемый Facebook и Twitter

Я хочу, чтобы пользователи могли регистрироваться и входить в систему, используя свои учетные записи в социальных сетях:

  • facebook
  • твиттер
  • Google
  • Yahoo
  • аол
  • и т.д

OpenID кажется хорошим вариантом, но не похоже, что Facebook или Twitter поддерживают его, что делает его бесполезным. Есть предложения по бесплатному (для крупных сайтов) варианту? OAuth кажется хорошим, но разве это не потребует от пользователя аутентификации каждый раз? Я хочу что-то более автоматизированное, чтобы они нажимали «твиттер», и если они вошли в систему в твиттере и уже предоставили авторизацию, они автоматически авторизуются на нашем сайте. Я могу справиться с работой на своем сайте и не имею проблем с apis.

Спасибо!


person David    schedule 10.05.2011    source источник


Ответы (4)


В OpenID Wiki перечислены несколько библиотек OpenId для PHP (а также других платформ), не будучи разработчиком PHP, но кто-то, кто делает что-то очень похожее, должен вам помочь.

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

Дополнительную информацию об использовании Facebook для аутентификации пользователей можно найти здесь.

Надеюсь, это тебе поможет.

person Steve    schedule 10.05.2011

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

Как правило, вам нужен тот, который будет поддерживать общий OpenID, OAuth (который покупает вам Twitter), Facebook, OpenID с направленной идентификацией (который использует Google) и Live Login в Microsoft.

Для PHP это может сделать HybridAuth. Spring Security, похоже, работает для Java и имеет подключаемый модуль Grails. Authlogic или Разработать. Python имеет SocialAuth.

Или, если вам не нужен прямой контроль над процессом входа в систему, вы можете использовать RPXnow, что является той же идеей, а как услугу. У Google есть нечто подобное с Google Identity Toolkit. Будьте осторожны с блокировкой.

Пожалуйста, оставьте комментарии к этому ответу, и я обновлю "правильный" инструмент для каждого языка.

person ftrotter    schedule 03.02.2012

Определенно Facebook. Вы можете получить все данные, если это разрешено пользователем.
Тем не менее, я бы предпочел использовать только некоторые реальные основы и запрашивать другие данные только по запросу.

В чем именно проблема с предоставлением нескольких вариантов? (А может я неправильно понял ваш вопрос)

person Simon Woker    schedule 10.05.2011
comment
Моя проблема в том, что в идеале мне бы понравилась такая платформа, как OpenID, которая обеспечивает подключение к Facebook, Twitter и учетной записи Google таким чрезвычайно простым способом, что это так же просто, как щелкнуть, перейти на этот сайт, чтобы разрешить доступ, отправить меня обратно на мой сайт. - person David; 10.05.2011

Я использую https://rpxnow.com/, он позволяет использовать несколько провайдеров, вы можете выбрать определенное количество (Думаю это 4) бесплатно.

person AllisonC    schedule 10.05.2011
comment
джанрайн. отлично, если у вас небольшой сайт, иначе придется платить. - person David; 10.05.2011