2012-07-31 81 views
2

我有一個Android應用程序需要將數據上傳到一個API(API然後將保存在MySQL數據庫的數據)。我想使用聯合登錄(Google)或OpenID身份驗證程序,以便用戶無需爲我的應用程序註冊電子郵件+密碼,而是可以使用保存在AccountManager中的Google(或其他帳戶)。Android應用+ Web服務器API(不GAE)

直到今年年初,該解決方案是使用GAE,按尼克·約翰遜的著名食譜。但是,自Google開始收費使用GAE後,這不再是可行的解決方案。 請不要推薦使用GAE

有沒有人設法解決與聯合登錄OR的OpenID身份驗證,然後在第三方(你的)Web服務器API獲得授權的問題呢?

注意:OAuth將是一種直接的授權解決方案,不同之處在於它依賴與先前經過身份驗證的消費者進行交互(以可信的方式),而使用(在移動設備上)驗證應用程序用戶時並非如此FedLogin或OpenID。如果我的應用(手機+網絡服務器)對用戶進行身份驗證(並且存儲登錄名+密碼 - 這正是我試圖避免的),則OAuth可以正常工作,但如果Google(或FB)爲您執行此操作,則不會。

+0

thanx的copydesk工作@SaDec! Ooops,我的意思是:謝謝你的拷貝工作,@SaDec。 LOL – 2012-07-31 15:51:07

+0

對不起,我不明白你的意思。我只想爲每次編輯賺取2分:-D – 2012-07-31 15:53:32

+0

@SaDec我感謝你的幫助。在新聞業中,COPYDESK是在記者發表文章之前糾正語法和拼寫的人。這是一項非常重要的工作。我真的很感謝你,因爲我懶得大寫和寫「正確」。 – 2012-08-01 01:58:30

回答

2

這就是OpenID Connect一樣。演示應用程序here

至於GAE,它仍然有一個自由層(28前端實例小時,足夠運行24/7)的應該夠你,如果你沒有得到多少流量。無論如何,你這樣做,你必須在某個地方運行服務器(即使它是你自己的機器),所以沒有辦法讓它完全免費。所以是的,GAE是一個可行的選擇。您可以免費開始並按需擴展。還有其他原因可以避免GAE,但'我必須(在某個時候)支付(某種東西),因此廢除',這絕對是錯誤的心態。

+0

你是絕對正確的,不可避免地會出現費用。我的問題與谷歌產品是谷歌改變商業政策,沒有事先通知。 雖然我可以估計未來5年安全服務器的成本,但如果我使用谷歌技術,我無法這樣做。我不得不廢棄代碼w/gmaps。因此,儘管他們的產品出色,但谷歌並不是商業產品的可靠合作伙伴。像foursquare和蘋果,我不會編寫依賴谷歌產品來運行的代碼。這是一種商業策略,而不是技術上的必要。 – 2012-08-06 23:25:24

+0

我準備在今年完全改變商業政策時使用谷歌地圖推出商業產品,並使我的所有代碼都無用。我很幸運,它在推出之前就已經發生了,而且我沒有付費客戶的商業義務。我剛剛失去了1000小時的Java編碼,給予或採取。燒我一次,恥辱你 - 燒我兩次,恥辱在我身上。 – 2012-08-06 23:33:16

+0

我檢查了你的答案。截至目前,OpenID Connect仍處於批准的最後階段,符合大多數作者的要求。該網站自己說它在「實施者的草案」中。建議的示例是「由GAE供電」。我投票贊成,因爲OpenID Connect在不久的將來可能成爲解決方案。感謝名單! – 2012-08-07 00:53:12