2016-04-21 68 views
0

我開始一個新的項目,並使用基於JavaScript的UI作爲前端和谷歌雲端點支持谷歌數據存儲的數據存儲。谷歌應用引擎雲端點安全

我不需要使用任何的谷歌服務用戶登錄等換句話說,我將有我自己的表來存儲用戶名,密碼和其他個人資料信息。

所以,問題是: 1.我的基於服務的前端將如何舉行會議? 2.它將如何理解要求哪個用戶帳戶返回用戶特定的數據?

此外,我迄今爲止創建了一個端點,它在傳遞用戶名時基本上返回true或false。 (只是爲了模仿有效的用戶)。

問題是我真的需要配置任何安全性來從JavaScript客戶端調用這個API我有嗎?

+1

如果你正在滾動自己的認證,你將不得不編寫自己的認證/授權層。 –

+0

以及使用現有身份驗證但使用我自己的設置用戶名密碼的方式是什麼? – Vik

+1

如果您使用Flask或Django,可能。在Django中,您可以將它們導入到自己的數據庫中,或者創建一個自定義身份驗證後端。用燒瓶,你可以整合燒瓶登錄或燒瓶安全。我不知道webapp2中有這樣的功能。 (編輯:或者在端點中,我也不知道任何這樣的功能。) –

回答

1

即使您想使用自定義用戶名和密碼,您也不僅僅需要一個過程來從端點發送和檢索這些數據。

考慮使用已經存在的東西。例如。 webapp2有一個基本的驗證模塊,它允許你擁有自己的用戶名和密碼數據庫,但已經有許多必要的安全措施。

我用過去來實現這方面的一個教程:https://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app-engine/

+0

它用於python。我需要java – Vik

1

所以基本答案是谷歌雲終點是最適合哪些用戶Google帳戶的身份驗證機制的應用。

所以,如果您使用雲端點,並希望有自定義身份驗證機制,您必須創建自己的。

我的基於服務的前端將如何保存會話?

成功驗證後(通過任何形式的用戶憑據,第三方社交登錄等),您需要爲該用戶設置會話,例如:通過使用會話cookie。

它將如何理解請求要爲哪個用戶帳戶返回用戶特定的數據?

Cloud Endpoint無法說明這一點,因此您必須編寫自定義篩選器或攔截器來檢查是否存在有效的會話或cookie,並拒絕或繼續請求。

要通過誰是請求API當前認證的用戶,你需要(使用DI,或請求的屬性等)到ApiEndpoints某種方式注入用戶信息,所以用你能處理相應請求

+0

所以如果我不去我自己的安全層,並依靠谷歌的話,那麼我的最終用戶必須有一個谷歌帳戶才能使用我的網站? – Vik

+0

是的,沒錯,但是應該根據你的應用程序而不是appengine提供什麼來做出決定,如果你的業務需要定製認證,那麼你應該去建立你自己的 –