2009-12-11 178 views
3

我仍然試圖圍繞OAuth/OpenID的工作原理,因此...在這種情況下,OAuth和OpenID是否正確?

我正在開發一個將在計算機和iPhone上運行的「安裝的應用程序」。給定用戶可以在多臺機器上安裝客戶端應用程序,並且所有用戶安裝的客戶端都將通過集中的Google App Engine服務進行同步。 GAE服務還將允許多個用戶通過網絡應用程序協作安裝的應用程序生成的數據。

爲了我自己的方便,我不想推出自己的身份驗證系統,並且還要從另一組憑證中取消用戶。因此,我最初考慮使用Google的clientlogin服務,但後來我認爲OAuth/OpenID會更好,因爲它允許用戶不僅可以使用Google憑證,還可以使用來自其他OpenID提供程序的憑證。此外,避免詢問用戶的登錄名/密碼似乎更安全。

我的問題是......我不確定這是OAuth/OpenID的正確用例。我沒有從任何其他服務訪問數據,我只是在尋找認證解決方案。此外,使用Google App Engine(java)完成此方案有多困難?

任何意見和/或起點將不勝感激!

+0

相關:http://stackoverflow.com/questions/814622/how-do-i-implement-an-openid-consumer-in-my-google-appengine-project – jldupont 2009-12-11 02:00:53

回答

3

我的問題是......我不確定這是OAuth/OpenID的正確用例。

oAuth的「用例」是:App X需要訪問App Y. App X通過您的憑證「請求」訪問App Y的權限。 App X收到「授權訪問令牌」。

就你而言,假設我理解正確,你可以讓GAE上的應用程序實現一個OpenID使用者,讓你的移動應用程序通過oAuth訪問GAE應用程序。

換句話說,你的方法似乎是一個明智的方法。

+0

因此,在OAuth術語中,我安裝的應用程序應該被視爲消費者,以及我的GAE服務作爲OAuth服務提供商。爲了利用OpenID,GAE服務會反過來使用OpenID進行身份驗證。我想我已經開始明白了。我開始看到OAuth應用程序瀏覽器應用程序模式在移動設備上會非常棘手。 – tempy 2009-12-11 02:29:31

+0

@Tempy:我相信這是準確的。 – jldupont 2009-12-11 02:33:11