【问题标题】:GAE authenticated user on server-side but not on client-sideGAE 认证用户在服务器端但不在客户端
【发布时间】:2016-04-08 11:50:01
【问题描述】:
我有一个 GAE Java Web 应用程序,我使用 Google 帐户对用户进行身份验证并显示管理页面。另一方面,我在管理页面中有一些经过身份验证的 JS 函数与谷歌端点后端通信。
问题是:我的用户在服务器端进行了身份验证(它在浏览器上加载了受限页面),但不在 JS 客户端(身份验证受限功能不对他进行身份验证)。有没有办法在客户端进行服务器端的身份验证(无需再次询问凭据)?
【问题讨论】:
标签:
google-app-engine
google-cloud-endpoints
google-authentication
【解决方案1】:
没有办法在一个操作中同时完成这两个操作,它被视为两个不同的客户端。所以我的解决方案是:
在服务器端进行身份验证,当身份验证完成后,为该用户保存一个随机令牌。
在 JSP 页面上发送带有 (iduser,token) 对的隐藏输入字段
在 JS 客户端上,我在每个请求中包含来自 html 页面的一对(iduser,token)。
在我的 google 端点上,我检查每个请求的令牌有效性,然后执行操作...
PS:token可以带有效期或者其他字段