2011-03-12 21 views
7

Kullanıcılarımı tanımlamak ve Google takvim verilerine erişmek için karma Google OpenID + OAuth protokolünü uygulamaya çalışıyorum. Ben openid4java kullanıyorumlocalhost'ta openid4java ile hibrid google openid + oauth'ı geliştirme ve test etme

https://www.google.com/accounts/o8/id 
?openid.ns=http://specs.openid.net/auth/2.0 
&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select 
&openid.identity=http://specs.openid.net/auth/2.0/identifier_select 
&openid.return_to=http://www.example.com/checkauth 
&openid.realm=http://www.example.com 
&openid.assoc_handle=ABSmpf6DNMw 
&openid.mode=checkid_setup 
&openid.ns.oauth=http://specs.openid.net/extensions/oauth/1.0 
&openid.oauth.consumer=www.example.com 
&openid.oauth.scope=http://docs.google.com/feeds/+http://spreadsheets.google.com/feeds/ 

: gibi

Numune isteği görünüyor. Bu işi takip etmeye çalıştım: library-to-integrate-googles-oauth-openid-hybrid-in-java-web-app

Ama localhost benim uygulamayı test ederken ben belaya girmiştir. Eğer yukarıda belirtilen örnek isteği görebileceğiniz gibi

, eşit olmalıdır üç nitelikleri vardır:

Ben google ve elde edilen tüketici anahtarı ve sırrı olan bazı domain kayıt yaptıran
openid.realm 
openid.oauth.consumer 
openid.return_to 

. Ama geliştirmek ve localhost benim uygulama hata ayıklama istediğinizde (yani openid.return_to = http://localhost:8080/ ve openid.realm = http: //*.mydomain.com ve openid.oauth.consumer = www.mydomain.com) ve anahtarımı kaynağı ve gizli, openid4java RealmVerifier bu kimlik doğrulama talebini reddeder.

Tam olarak geçerli seçenekler sağlamaya çalıştım (yerel alan yerine kayıtlı alanım) - işe yaradığı görüldü, ancak yönlendirme gitti (uygulamayı o etki alanında dağıtmak istemiyorum/kullanamıyorum çünkü eksik teknolojiler.).

Lütfen localhost üzerinde nasıl bir uygulama geliştirilebileceğini bildirir misiniz? Böyle bir uygulamayı nasıl test edeceğinizle ilgili bir hile var mı?

Yardımlarınız için teşekkürler!

cevap

6

deneyin ekleyerek senin your-machine.your-domain.com senin dev kutusunu (linux üzerine)/etc/hosts 127.0.0.1 ve sonra başvurunuzu vurmak işaret hangi http://your-machine.your-domain.com

(not olarak: Makinenizi, makinenizin adı ve alanınız ile birlikte Google ile kayıtlı olduğunuz alan adıyla değiştirin)

+0

Cevabınız için teşekkür ederiz. Sonunda, istemciden çağrılan AppEngine'de basit RESTful kimlik doğrulama hizmeti geliştirerek bu sorunu çözdük. (Yine de sunucuya ihtiyacımız vardı, bu yüzden bu yolu seçtik.) –

+0

@Martin Bu cevabın kabul edilebilir olduğunu düşünüyorum. –