我一直在閱讀很多關於谷歌終端的內容,我試圖找到一些不太容易猜到的東西。在創建谷歌雲端點服務器之後,您將其部署到任何HTTP請求(未經身份驗證)。在雲終端文檔中(指使用身份驗證),您可以閱讀有關設置OAuth2.0以使用Google帳戶驗證用戶身份的信息,但沒有關於將終端服務限制到特定移動應用程序(android或ios)的文檔,並放棄了所有其他HTTP要求。所以問題是如何驗證移動應用程序(無用戶),並防止HTTP請求(未經身份驗證)?我正在構建基於Python的服務器API(enpoints)。 謝謝。谷歌終端限制只能訪問移動客戶端
回答
爲了將您的端點限制到特定的應用程序,您可以使用OAuth2。這是因爲OAuth2流程執行用戶身份驗證,並且OAuth2流程本身會認證請求OAuth2訪問的應用程序。
這兩個客戶端示例詳細說明如何在客戶端啓用經過身份驗證的調用。您必須在開發者控制檯中的http://cloud.google.com/console/處註冊您的應用程序。
https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-android https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-ios/(在README第8步)
authedGreeting是經過驗證的電話,你會檢查用戶對象的方法對空後端項目(自述文件中的注意事項後開始)。如果爲空,則可立即引發未經授權的異常。
https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-java-maven 具體來說,README中的可選步驟2告訴雲端點開始在請求中查找OAuth2令牌。如果端點公開方法具有用戶參數。只有在找到OAuth2標記時,它纔會使用用戶實例填充它,這通常是有效的,並且該標記將發佈到服務類的API註釋中定義的客戶端標識。
在設置端點API期間,在clientIds
列表中,您提供了例如WEB_CLIENT_ID
,ANDROID_CLIENT_ID
和IOS_CLIENT_ID
。這些值告訴Google App Engine,您的應用程序將響應來自Web瀏覽器和Android/iOS安裝應用程序的HTTPS請求。
當您的客戶端首次連接您的服務器時,他們必須獲得OAuth 2.0令牌才能保證通信安全,這就是您在安裝的客戶端應用程序中使用WEB_CLIENT_ID
的原因。這WEB_CLIENT_ID
是唯一的谷歌雲應用程序,並通過它你的客戶變成能夠獲得access_token
和renew_token
與您後端服務器和您的服務器只通信。這是一個cross-client authorization。
所以,如果你只需要WEB_CLIENT_ID
獲得access_token
和renew_token
,所以你必須ANDROID_CLIENT_ID
和IOS_CLIENT_ID
?出於安全原因。
ANDROID_CLIENT_ID
通過在後端設置處通知的SHA1鏈接到RSA簽名密鑰。因此,你的GAE應用程序將授予(當然你clientIds
列表)(access_token, renew_token)
,在您的應用程序控制臺所列舉的相同的密鑰簽名只安裝的應用程序
最後的Android應用程序有不同的簽名或沒有簽名將不會收到任何access_token
,暫時無法建立安全通信通道,甚至與您的服務器通信。
- 1. 限制客戶端的REST API訪問
- 2. 使用谷歌本地客戶端(NaCl)並行端口訪問
- 3. 谷歌雲端硬盤訪問權限
- 4. 谷歌終端交叉客戶端身份驗證
- 5. GoogleAuthUtil.getToken Android客戶端 - 谷歌雲端點
- 6. 谷歌驅動API無效客戶端
- 7. 限制對客戶端的遠程訪問。可能嗎?
- 8. SOAP客戶端只能在谷歌瀏覽器中使用
- 9. 如何訪問谷歌的客戶端API不
- 10. 谷歌雲存儲訪問客戶端API
- 11. 谷歌計算引擎客戶端FTP訪問
- 12. c#訪問客戶端谷歌分析數據
- 13. 訪問谷歌聯繫人與谷歌API的JavaScript客戶端 - 如何?
- 14. 嘗試訪問使用谷歌API客戶端谷歌地方GAE
- 15. 谷歌端點鏈接iOS客戶端問題
- 16. 如何從終端訪問分析客戶端密鑰?
- 17. 限制客戶端應用程序上只有一個端點
- 18. 客戶端到服務器端谷歌分析MP客戶端ID
- 19. 客戶端CAPI訪問
- 20. 僅客戶端Dropbox訪問
- 21. ActiveMQ STOMP客戶端訪問
- 22. 谷歌應用引擎限制訪問一組谷歌賬戶
- 23. 谷歌終端Android與Python後端
- 24. 谷歌搜索終端
- 25. 客戶端:訪問Windows Azure驅動器?
- 26. 401在谷歌JS客戶端API
- 27. 谷歌眼鏡上的Socket.io客戶端
- 28. Proguard的Android和谷歌API客戶端
- 29. 使用谷歌API PHP客戶端庫
- 30. Firebase谷歌登錄兩個客戶端