Web应用程序后端身份验证和交互

时间:2011-06-02 09:20:58

标签: jquery api authentication go

我目前正在Go中编写Web应用程序后端。为标准jQuery AJAX前端提供某种API以与我的后端进行交互的最佳方法是什么?

现在,我有一些函数接受一些数据,执行操作,并返回其他数据,但我应该从哪里开始呢?我有一个模糊的想法,就是在某个端口上监听JSON编码的函数调用并返回该函数的JSON编码输出,但是(如果这是实现这个的好方法)实现这个的最佳方法是什么?

此外,我应该如何使用Go / AJAX处理登录系统和/或身份验证?为该用户返回一些唯一的哈希键是否有意义(如果选择了持久登录,则将其保存到cookie中)将该密钥存储在内存中,并将该密钥作为每个JSON编码的函数调用的参数发送给服务器?或者,有没有更好的方法来实现这一点(我对登录系统不了解)或者可能已经为Go开发了解决方案?

1 个答案:

答案 0 :(得分:1)

Goajax是一个JSON-RPC包。风格稍微通过JSON传递函数名称和参数,并返回JSON作为答案。

就个人而言,我更喜欢REST - 服务。 REST使用标准Web技术,尤其是HTTP和URI来传递资源以及如何处理它们。 JSON对此也非常有效。对于REST服务,有rest.go库(也是fork)。

要进行身份验证,您可能需要查看authcookie。 “实现签名认证cookie的创建和验证。”

通过cookie(或param作为替代)使用auth-hash是一种常见的方式。但请确保您知道,确保它们安全。使用HTTPS来防止窃听(WLAN,pub-nets,man-in-the-middles)。您首先验证它们的方式取决于您实际执行的操作。还要确保考虑会话生存期。