谷歌应用引擎云端点安全

时间:2016-04-21 16:46:10

标签: java security google-app-engine google-cloud-endpoints

我正在开始一个新项目,并使用基于javascript的UI作为谷歌数据存储支持的前端和谷歌云端点进行数据存储。

我不需要使用任何谷歌服务进行用户登录等。换句话说,我将拥有自己的表来存储用户名,密码和其他个人资料信息。

所以,问题是: 1.我的基于服务的前端将如何举行会议? 2.如何理解请求是针对哪个用户帐户返回用户特定数据?

同样首先,我到目前为止创建了一个端点,它在向用户传递用户名时基本上返回true或false。 (只是为了模仿有效用户)。

问题是我真的需要配置任何安全性来从我有的javascript客户端调用这个api吗?

2 个答案:

答案 0 :(得分:1)

即使您想使用自定义用户名和密码,您也需要的不仅仅是从终端发送和检索此数据的过程。

考虑使用已有的东西。例如。 webapp2有一个基本的auth模块,它允许你拥有自己的数据库,其中包含用户名和密码,但已经有许多必要的安全措施。

过去我曾用过的教程:https://blog.abahgat.com/2013/01/07/user-authentication-with-webapp2-on-google-app-engine/

答案 1 :(得分:1)

因此,基本答案是Google Cloud Endpoints最适合用户将Google帐户作为身份验证机制的应用程序。

因此,如果您正在使用云端点,并希望拥有自定义身份验证机制,则必须创建自己的端点。

我的基于服务的前端将如何举行会议?

成功验证(通过任何形式的用户凭据,第三方社交登录等),您需要为该用户设置会话,例如;通过使用会话cookie。

如何理解哪些用户帐户返回用户特定数据的请求?

Cloud Endpoint无法分辨,因此您必须编写自定义过滤器或拦截器来检查是否存在有效会话或cookie,并拒绝或继续请求。

要传递请求api的当前经过身份验证的用户,您需要以某种方式(使用DI或请求属性等)将用户信息注入ApiEndpoints,这样您就可以相应地处理请求