如何驗證Google身份驗證訪問令牌?如何驗證Google身份驗證API訪問令牌?
我需要以某種方式查詢Google並詢問:給定的訪問令牌對於[[email protected]] Google帳戶有效嗎?
短版:
很清楚如何通過Google Authentication Api :: OAuth Authentication for Web Applications提供的訪問令牌可以用來然後從一系列谷歌服務請求數據。目前尚不清楚如何檢查給定的訪問令牌對於給定的Google帳戶是否有效。我想知道如何。
長版本:
我正在開發一個使用基於標記的身份驗證的API。在提供有效的用戶名+密碼或從可用於驗證的服務 N中提供第三方令牌時,將返回令牌。
其中一項第三方服務是Google,允許用戶使用他們的Google帳戶對我的服務進行身份驗證。這將在以後擴展到包括雅虎帳戶,可信的OpenID提供商等等。基於谷歌的訪問
原理例如:
alt text http://webignition.net/images/figures/auth_figure002.png
的 'API' 實體是我的完全控制之下。 '公共接口'實體是任何基於網絡或桌面的應用程序。一些公共接口在我的控制之下,其他的不會,而其他的我也許永遠不會知道。
因此,我不能相信在步驟3中提供給API的令牌。它將隨相應的Google帳戶電子郵件地址一起提供。
我需要以某種方式查詢Google並詢問:此訪問令牌是否對[email protected]有效?
在這種情況下,[email protected]是Google帳戶唯一標識符 - 用戶用於登錄其Google帳戶的電子郵件地址。這不能被認爲是Gmail地址 - 某人可以擁有Google帳戶,而無需擁有Gmail帳戶。
Google文檔清楚地說明了如何使用訪問令牌從多個Google服務中檢索數據。似乎沒有什麼可以說明如何檢查給定的訪問令牌是否有效。
更新 該令牌對N個Google服務有效。我無法嘗試使用Google服務的令牌作爲驗證方式,因爲我不知道給定用戶實際使用的所有Google服務的哪個子集。
此外,我永遠不會使用Google身份驗證訪問令牌來訪問任何Google服務,只是作爲驗證所謂的Google用戶實際上是他們所說的人的手段。如果還有其他的方式,我很樂意嘗試。
什麼特定的認證服務是這個問題(OAut h,AuthSub,安裝的應用程序,...)?請提供更詳細的鏈接。 – 2008-12-11 15:06:59
@Martin v。Löwis:「Web應用程序的OAuth身份驗證」服務 - 我已更新問題的開頭部分以反映此問題。感謝您指出了這一點! – 2008-12-11 15:26:12
關於谷歌密鑰驗證的有趣文章可能會提供更多見解http://groups.google.com/group/Google-Maps-API/msg/f9e3c5ad3cbda4d7 – dotjoe 2008-12-31 18:04:32