Sitemin mevcut günlük sistemi ile basit OpenID entegre nasıl?

3 Cevap php

Herkes zaten bir giriş sistemi olan bir siteye OpenID için adım entegrasyonu ile basit bir adım gönderebilir miyim?

Ben PHP OpenID 2.1.3 kullanmaya karar verdim ama nereden başlayacağınızı ve ne yapacağını alabilir.

3 Cevap

Ben senin en iyi bahis Zend Framework adlı OpenID modülünü kullanarak düşünüyorum. Bu bütün çerçevesini kullanmak zorunda kalmadan, bu kendi üzerinde kullanılabilir, ve bunu kullanmak konusunda oldukça basit bir açıklaması var on their manual pages. : (Eğer OpenID kavramını anlamak ise) o kadar basit

login_page.php:

// Load the library Zend Framework way, or load it yourself...
// Always good to pick apart the library anyway, to see how it works:
Zend_Loader::loadClass('Zend_OpenId');
$consumer = new Zend_OpenId_Consumer();
if(!$consumer->login($_POST['openid_identifier'], 'redirect_to.php'))
 {
  die('OpenID login failed.');
 }

redirect_to.php:

Zend_Loader::loadClass('Zend_OpenId');
$consumer = new Zend_OpenId_Consumer();
if($consumer->verify($_GET, $id))
 {
  echo htmlspecialchars($id).' is a valid ID.';
 }
else
 {
  // redirect to "login.php?login=failed".
  if(!headers_sent())
   {
    header('HTTP/1.1 307 Temporary Redirect', true, 307);
    header('Location: login.php?login=failed');
   }
  else die('Invalid ID.');
 }

Bu (php-openid) OpenID Foundation tarafından sağlanan PHP OpenID Kütüphanesi daha kullanmak çok kolaydır.

EDIT: * (Yorumlamak yanıt) Zend_OpenId uygulamak için nasıl. *

latest Zend Framework indirin ve klasöre ayıklamak ZendFramework-1.9.2/library/Zend/OpenId.

Yapmanız gereken bir kaç şey vardır ancak:

  1. Sınıf Exception için Zend_Exception den [...]/OpenId/Exception.php değer uzanır değiştirin.
  2. (Biliyorum, sıkıcı) her dosya geçmesi ve bulunuyor gerektiren ve mutlak yol adları bulunuyor içeren tüm değiştirin.

Şimdi tarafından sınıfları başvurabilirsiniz:

require_once '/path/to/OpenId/Consumer.php';
$consumer = new Zend_OpenId_Consumer();
// If you plan on making your own OpenID's, use 'Provider' instead of 'Comsumer'.
require_once '/path/to/OpenId/Provider.php';
$provider = new Zend_OpenId_Provider();

Şimdi, sana verebileceğim en iyi tavsiye olsa kılavuzları aracılığıyla okumaktır! Ilk defa işe beklemeyin ... zerdüştlerin uygulanması daha kolay olabilir, ama bu OpenID belası olmaktan durmuyor!

Hayır, basit bir rehber var. Bu basit ve kolay yapmak için çok fazla giriş sistemleri ve değişik uygulamalar vardır.

Özellikle komut dosyaları için, bunu googling deneyin. Diğer herhangi bir komut için, uygulama içine OpenID entegre olacak. Eğer MVC kullanıyorsanız, şanslısınız: kullanıcı modeline bir göz atın ve içine OpenID takın.

Plaxo Joseph Smarr OpenID-sağlayarak sitenin yıl Agon bir çift için bir nice recipe yazmıştır.