2011-03-29 29 views
5

Bir web sitesi için hizmet olarak bir OpenID kimlik sağlayıcısı uygulamak için arıyorum. Uygulamanın sağladığı mevcut kullanıcı hizmetleriyle entegre edeceğim, bu yüzden eksiksiz bir OpenID sunucu uygulaması yerine bir kütüphane kullanmak istiyorum (yani, OpenID Identity Servers bölümündeki listelenen araçlar çok fazla iş yapıyor). Bu, OpenID Libraries sayfasında listelenen aşağıdaki kitaplıklardan ayrılır (kimlik sağlayıcısı olarak hareket edebilenler, diğerleri göz ardı edilir, çünkü neye ihtiyacım olursa onu yapamazlar). Ne yazık ki, her biri ile ilgili bazı sorunlar var ve hangisinin benim için gitmem gerektiği konusunda tavsiyelerde bulunmaktan memnun olurum.PHP OpenID Kimlik Sağlayıcı

  • PHP OpenID Library (Janrain) - Bu popüler gibi görünüyor, ancak göz ardı ediliyor gibi görünüyor. GitHub'da, bekleyen sorunların giderilmemesi nedeniyle birçok, çok sayıda çatal var; işe yarayacak gibi görünüyor (birkaç düzeltmeyle), ancak hangi çatalların takip edileceğini ya da bunu yapmanın güvenli olup olmadığını bilmek zordur.
  • NetMesh InfoGrid LID - İndirme bölümündeki 403 İzin Reddedildi.
  • Zend Framework OpenID Component - Kullanılmadığımız Zend çerçevesinin bir kısmı.

Yani, sorularım

  • bir kimlik sağlayıcı için başka seçenekler var mıdır vardır?
  • NetMesh çözümüyle ilgili herhangi bir deneyimi var mı? İndirememenin nesi var?
  • Zend Framework bileşenleri Zend Framework olmadan kullanılabilir mi?
  • Janrain PHP OpenID Kütüphanesi'nin iyi ve güvenilir bir çatalı var mı?
+2

OpenID sağlayıcımı ve tüketici sınıflarını aynı giriş hesabını bir [site ailesi] üzerinden paylaşmak için geliştirdim (http://www.phpclasses.org/blog/post/127-Single-SignOn-authentication-using- Geliştirdiğim OpenID ve diğer güvenlik önlemleri.html). Bunu tam olarak yaptım çünkü mevcut PHP uygulamaları benim için yeterince iyi değildi. Kod şu anda 8 aydan fazla çalışıyor ve çoğu sorun düzeltildi. Onu Açık Kaynak olarak yayınlamak istiyorum ancak başkalarına yararlı hale getirmek için yeterli belgeleri bitirmem gerekiyor. Test etmekle ilgileniyorsanız, profilimde adresime posta gönderin. – mlemos

+0

Mlemos, E-postanızı korktuğum her yerde bulamıyorum, ancak kodunuzu gözden geçirmeyi düşünürdüm. –

+0

Daha fazla testçiye ihtiyacınız varsa. El Yobo gibi, mevcut çözümlerimi projem için uygun olmayan bir şekilde buldum (şimdiye kadar ... şimdiye kadar zend versiyonunu denemedim), ya da oldukça güncel değil. – canadiancreed

cevap

1

Genel olarak bir çerçeve kullanmadığınız gerçeği, bileşenlerinden birini kullanmanızın önüne geçmemelidir. Zend_OpenID'nin bağımlı bileşenlerinin listesi here kullanılabilir. OpenID'nin çalışabilmesi için gerekenleri alabilirsin ve hepsi bu. Zend_OpenID'i bağımlılıkla alarak başka bir OpenID bileşeni almada büyük bir fark görmüyorum.

+0

Bunun ne kadar uygun olduğunu bilmiyorum; Bağlantınız çok faydalıdır, ancak bağımlılıklar uygulamanın geri kalanıyla ilgili sorunları olan Zend_Session'ı içerir (yalnızca Zend_Session sistemi aracılığıyla $ _SESSION'a erişmenizi öneririz) ve Zend_Controller_Response_Http, entegrasyon için çok zor olabilir. –

+0

@El Yobo, doğru. İşte OpenID uygulamalarının bir listesi http: //wiki.openid.net/Kütüphaneler ama umut verici görünmediklerinden emin değilim. –

+0

Evet ... Soruma bağlı kaldım ve kimlik sağlayıcısı olarak hareket etmeyi destekleyen üç kişiyi de kapsadım. Ben yine janrain kütüphanesini yeniden forma sokmaya ve ihtiyacım olan düzeltmeleri uygulamaya koyuyorum: -/ –