2010-03-16 125 views
2

我目前正在致力於聯繫進口商的網絡應用程序(PHP),所以我將能夠從Gmail,雅虎等用戶的帳戶中獲取電子郵件地址,並將其用於我自己的惡意目的。開個玩笑,我的網絡應用程序非常友好。谷歌聯繫人API - 無重定向

我以爲我會從谷歌開始。我發現他們有一個非常棒的API,稱爲Google Contacts API,它可以讓程序員像我一樣訪問用戶的聯繫人。

經過幾個小時的掙扎並將低劣的代碼扔在一起後,我遇到了幾塊路障。我的主要問題是:

有什麼辦法,我可以有一個用戶提供在我的網站他們的Gmail用戶名和密碼,並有我的代碼檢索聯繫人沒有那個討厭的重定向到谷歌登陸頁面?這有點毀了我的網絡應用程序的整個流程。

我看了一下AuthSub,並得到它的工作,但當然抓住的是,你必須重定向用戶獲取訪問令牌。看起來OAuth也會有同樣的結果。

我希望的一縷是ClientLogin身份驗證方法。再次,有一個問題,谷歌有時會拋出一個CAPTCHA而不是auth令牌。再一次,用戶流程被破壞了。

我注意到,我們的好朋友在Twitter上的朋友工作得很好。有誰知道他們是如何做到的?

謝謝!

+0

我剛剛解決三腳認證。這似乎是該行業正在發展的方式。 – 2010-03-30 15:26:25

回答

7

我想你已經確定了一個功能,而不是一個錯誤。 OAuth的重點在於防止用戶將自己的密碼輸入到像您這樣的第三方網站中:這樣,他們可以學習如何在他們查看Google登錄頁時輸入Google密碼,而不必相信自己贏得了不存儲他們的密碼,並用它來閱讀他們的所有電子郵件。

它確實會在您的Web應用程序的流程中提供一個小的中斷,但OAuth通常會提供回調,因此它不應該是一個大的中斷。作爲交換,您的用戶可以感覺更安全,您可以避免任何需要存儲(然後處理)用戶密碼的問題。

總之,我認爲你不能解決這個問題。的確,Twitter現在允許它(「基本身份驗證」,其中用戶名和密碼直接發送),但該功能計劃爲deprecated by this summer