Google Federated Login'i bir numaralı uygulamalar hesabıyla entegre etmeye çalışıyorum, ancak bazı sorunlara sahibim.Barındırılan Uygulamalar için Google Federasyon Girişi (OpenID + Oauth) - değişen son noktalar?
ben isteği gönderdiğinizde: Bütün parametreleri ile https://www.google.com/accounts/o8/ud
(aşağıya bakınız), ben Attribute Exchange
tarafından istedi niteliklerin hem request_token
ve liste geri almak. Bu, uygulama veritabanımızda kullanıcıyı depolamak için öznitelik exhange (AX) yoluyla e-postaya ihtiyaç duyduğumuzdan ve gelecekteki API requests to scopes
(örn: takvim, kişiler, vb.) Için istek belirtecine ihtiyacımız olduğu için mükemmeldir.
Ancak (burada endpoint
olarak anılacaktır) bu URL'yi kullanarak bir sorundur barındırılan uygulamalar (gmail, takvim, vd), oturum açmış kullanıcıyı tutmaz.
Bitiş noktasını https://www.google.com/a/thedomain.com/o8/ud?be=o8
olarak değiştirmek her şeyi değiştirir. Diğer google uygulamalarına otomatik olarak giriş yaptım (gmail vb.). Ancak, bu son noktayı kullanarak, yalnızca ya da belirtilerini belirtmek istiyorum. Açıkçası bu özellikle melez değil. Onun çok ya da diğeri. Çalıştığım bu Hybird yaklaşım almaya çalışırken gün boyunca mücadele oldum
parameters = {
'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://our.domain.com/accounts/callback/',
'openid.realm': 'http://our.domain.com/',
'openid.assoc_handle': assoc_handle,
'openid.mode': 'checkid_setup',
'openid.ns.ext2': 'http://specs.openid.net/extensions/oauth/1.0',
'openid.ext2.consumer': 'our.domain.com',
'openid.ext2.scope': 'https://mail.google.com/mail/feed/atom',
'openid.ns.ax':'http://openid.net/srv/ax/1.0',
'openid.ax.mode':'fetch_request',
'openid.ax.required':'firstname,lastname,email',
'openid.ax.type.firstname':'http://axschema.org/namePerson/first',
'openid.ax.type.lastname':'http://axschema.org/namePerson/last',
'openid.ax.type.email':'http://axschema.org/contact/email',
}
return HttpResponseRedirect(end_point + '?' + urllib.urlencode(parameters))
(assoc_handle önceden Openid ilk isteği ile başarıyla ayarlanır) https://www.google.com/accounts/o8/ud
son nokta
için
Örnek istek, kavga Çoğu opak hata mesajı (This page is invalid
... Google'a teşekkürler) ve tutarlı dokümantasyon eksikliği. Bu noktaya ulaşmak için yapabileceğim her kod örneğini trolledim. Herhangi bir yardım için teşekkür ederiz ...