如何使用第三方API中的令牌验证Rails应用程序?

时间:2013-10-08 19:01:13

标签: ruby-on-rails api session authentication

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

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

我已经学到了很多关于Rails的知识,但几乎没有关于会话或身份验证的知识。一般来说,为了成为一个安全的场景,还有什么我需要做的吗?我觉得我错过了什么。

1 个答案:

答案 0 :(得分:1)

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

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

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

autocomplete="on"

表示值应该恢复到原来的状态。在编写代码之前尝试将其保存到localstorage。

相关问题