Как вы разрешаете клиентам использовать свой openid на вашем веб-сайте, как и stackoverflow?

Я хочу, чтобы клиенты использовали свой openId на моем сайте. Я искал для этого Google, но не нашел хорошего учебника. Я использую PHP и MySQL.

В Плаксо есть один. Но он говорит, что мы должны скачать что-то с JanRain.com.

Я увидел модуль openId для Drupal. Он не хочет, чтобы что-то было загружено.

Может ли кто-нибудь сказать мне, что делать точно?

Многие достойные библиотеки перечислены здесь: http://wiki.openid.net/Libraries

Stack Overflow использует эту библиотеку для горячего javascript-интерфейса для курения: http://code.google.com/p/openid-selector/

Модуль OpenID от Drupal начал с использования библиотеки JanRain в 4.7.x , которая является наиболее часто используемой реализацией OpenID в PHP.

Вам не нужно загружать библиотеку в Drupal, потому что она уже встроена в ядро ​​Drupal.

Вы также можете использовать rpx, как uservoice .

Если вы размещаете свой сайт на машине Linux, должен быть установлен пакет php-openid, который предоставит вам открытую клиентскую библиотеку id, которую вы можете использовать для включения открытых учетных записей. Пакет поставляется с хорошим примером кода, чтобы вы начали. Если вы не используете linux или у вашего дистрибутива нет php-openid, я на 99% уверен, что php-openid основан на (или напрямую) библиотеке php JanRain.com, поэтому ее загрузка напрямую должна то же самое.

Zend Framework также разработала компонент OpenID, который может использоваться как автономный (т. Е. Не зависит от остальной части фреймворка) или, по крайней мере, требует минимального взаимодействия (я считаю, что он использует объект responce для перенаправления).

В любом случае, это еще один вариант, и особенно полезно при создании сайта под управлением ZF.

Я только взглянул на него, но делает ли http://www.saeven.net/openid.htm трюк для вас?

Следующие библиотеки доступны для помощи в реализации OpenID Identity Server и Consumer на PHP. Библиотеки в этом разделе предназначены для обработки всех деталей, специфичных для OpenID, и оставляя вас для обеспечения клея, чтобы интегрировать его в ваш сайт. ( источник )

  • LightOpenID
    Библиотека PHP 5 для простой аутентификации openid. Работает только как потребитель.
    Лицензия: Лицензия MIT
  • Библиотека PEID OpenID
    PHP 5 библиотека OpenID.
    Лицензия: BSD
  • Библиотека PHP OpenID (Janrain)
    Библиотека PHP OpenID позволяет включить аутентификацию OpenID на сайтах, построенных с использованием PHP. В нем есть пользователь OpenID, реализация хранилища и сервер OpenID.
    Лицензия: Apache v2
  • Простой OpenID класс PHP
    Аутентификация пользователей с помощью единого входа OpenID
    Лицензия: Неизвестно
  • Компонент OpenID для CakePHP
    Компонент OpenID для CakeP
    Лицензия: MIT
  • sfOpenIDPlugin для Symfony
    Модуль для проверки подлинности через OpenID
    Лицензия: Неизвестно
  • EasyOpenID
    Библиотека без PEAR для доверенной стороны OpenID.
    Лицензия: BSD / GPL
  • NetMesh InfoGrid LID (недоступно для скачивания ?!)
    Лицензия: Sleepycat
  • Компонент OpenID Zend Framework
    Zend_OpenId – это компонент Zend Framework, который предоставляет простой API для создания сайтов с поддержкой OpenID и поставщиков удостоверений.
    Лицензия: BSD

HybridAuth является социальным знаком с открытым исходным кодом в php-библиотеке.

Основная цель библиотеки HybridAuth – выступать в качестве абстрактного api между вашим приложением и различными социальными провайдерами api и идентификаторов, такими как Facebook, Twitter, LinkedIn, Google и Yahoo.

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

Привет, мир с HybridAuth:

<?php $config = dirname(__FILE__) . '/library/config.php'; require_once( "library/Hybrid/Auth.php" ); try{ $hybridauth = new Hybrid_Auth( $config ); $twitter = $hybridauth->authenticate( "Twitter" ); $user_profile = $twitter->getUserProfile(); echo "Hi there! " . $user_profile->displayName; $twitter->setUserStatus( "Hello world!" ); $user_contacts = $twitter->getUserContacts(); } catch( Exception $e ){ echo "Ooophs, we got an error: " . $e->getMessage(); }