GAE 在服务器端对用户进行身份验证,但在客户端未进行身份验证
GAE authenticated user on server-side but not on client-side
我有一个 GAE Java 网络应用程序,我使用 Google 帐户对用户进行身份验证并显示管理页面。另一方面,在管理页面中,我在 JS 中有一些经过身份验证的函数与 google 端点后端通信。
问题是:我的用户在服务器端进行了身份验证(它在浏览器上加载受限页面)但不在 JS 客户端(auth 受限函数不对他进行身份验证)。有没有办法在客户端工作的服务器端完成身份验证(无需再次询问凭据)?
没有一种方法可以在一次操作中同时执行这两项操作,它被视为两个不同的客户端。所以我的解决方案是:
在服务器端进行身份验证,当身份验证完成后,为该用户保存一个随机令牌。
在 JSP 页面上发送一个带有对 (iduser,token)
的隐藏输入字段
在 JS 客户端上,我在每个请求中包含来自 html 页面的一对 (iduser,token)。
在我的 google 端点上,我检查每个请求的令牌有效性,然后执行该操作...
PS:token可以带有效期,也可以是其他字段
我有一个 GAE Java 网络应用程序,我使用 Google 帐户对用户进行身份验证并显示管理页面。另一方面,在管理页面中,我在 JS 中有一些经过身份验证的函数与 google 端点后端通信。 问题是:我的用户在服务器端进行了身份验证(它在浏览器上加载受限页面)但不在 JS 客户端(auth 受限函数不对他进行身份验证)。有没有办法在客户端工作的服务器端完成身份验证(无需再次询问凭据)?
没有一种方法可以在一次操作中同时执行这两项操作,它被视为两个不同的客户端。所以我的解决方案是:
在服务器端进行身份验证,当身份验证完成后,为该用户保存一个随机令牌。
在 JSP 页面上发送一个带有对 (iduser,token)
的隐藏输入字段
在 JS 客户端上,我在每个请求中包含来自 html 页面的一对 (iduser,token)。
在我的 google 端点上,我检查每个请求的令牌有效性,然后执行该操作...
PS:token可以带有效期,也可以是其他字段