通过https使用JWT和GAME进行安全身份验证?

时间:2010-09-09 16:18:35

标签: google-app-engine gwt https rpc

我想在我的appengine应用程序中实现自定义用户身份验证系统。我不想使用会话。我是这个领域的新手,所以我有两个基本问题:

1:通过https发送每个RPC的用户名和密码是否安全?我需要做些什么来保证客户端的用户名和密码安全?

2:如何告知GWT在发出请求时使用https?

我对安全性知之甚少,所以请不要遗漏任何“明显”的细节。

谢谢!

3 个答案:

答案 0 :(得分:5)

使用firebug观察进程显示所有RPC都发生在与请求主机页面相同的协议上。这似乎是同一站点原始规则所必需的,所以我将假设我的答案是

1:是的,但速度较慢

2:当请求主机页面w / https

时,GWT自动使用https

答案 1 :(得分:2)

  1. 通过HTTPS发送用户名和密码是安全的,但没有人为每个请求执行此操作,因为有一天您可能忘记/需要通过HTTP发送请求。此外,将密码保存在内存中会吸引XSS黑客。一个未被注意的XSS漏洞将暴露密码。通常,开发人员在会话中保留session-id或XSRF-token,并在每次请求时发送它。
  2. 查看http://code.google.com/appengine/docs/java/config/webxml.html#Secure_URLs
  3. 不要忘记XSRF保护,您需要为更改某些内容(非只读)的请求实现它。

答案 2 :(得分:1)

在GAE上,您还可以使用Google用户服务API http://code.google.com/appengine/docs/java/users/overview.html。它非常直观,您无需了解安全细节。