0

我有一个 Rails 应用程序,可以对第三方 API 进行多次特定于用户的调用。他们在填写调查的过程中与大量数据进行交互,他们的进度存储在 HTML5 localStorage 中,直到调查结束,数据保存在本地数据库中并清除 localStorage。

API 调用需要在末尾附加一个令牌作为“auth=”参数。现在,我让用户使用他们对该服务的用户名和密码登录我的应用程序,将这些凭据发布到该 API 的“会话”调用,并以 JSON 格式获取令牌。我将该令​​牌存储在控制器中的一个变量中,并使用它来进行连续的 API 调用并在我的应用程序中显示用户的数据等。

我已经了解了很多关于 Rails 的知识,但对会话或身份验证几乎一无所知。一般来说,我还需要做些什么才能让这成为一个安全的场景吗?我觉得我错过了什么。

4

1 回答 1

1

假设 3rd 方服务的用户用户名/密码组合没有访问您的服务器,对我来说似乎没问题。

如果您的服务器看到用户的凭据,那并不是特别酷。而是使用 OAuth 获取第 3 方登录,并使用令牌代表用户发出请求。如果要避免将用户保存到数据库,通常可以将整个会话保留在客户端上。

顺便说一句,在本地存储中存储进度听起来不错。要保留值,您可以将表单的页面设置为选项卡(因此隐藏以前的表单,而不是新页面)并使用:

autocomplete="on"

表示这些值应该恢复到原来的样子。在编写代码以将内容保存到本地存储之前尝试一下。

于 2013-10-08T19:37:19.630 回答