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ıranopenid.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!
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.) –
@Martin Bu cevabın kabul edilebilir olduğunu düşünüyorum. –