Подтвердить что ты не робот

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

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

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

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

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

4b9b3361

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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

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

Ответ 8

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

  • LightOpenID
    Библиотека PHP 5 для простой аутентификации openid. Работает только как потребитель. Лицензия: Лицензия MIT
  • PEAR OpenID library
    PHP OpenID библиотека PHP 5.
    Лицензия: BSD
  • PHP OpenID Library (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

Ответ 9

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

Основная цель библиотеки HybridAuth - выступать в качестве абстрактного 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();
 }