API令牌认证:良好实践

时间:2015-09-03 21:19:17

标签: ruby-on-rails api ruby-on-rails-4 authentication token

我目前正在学校项目的上下文中使用Rails4构建REST API,但我在使用令牌身份验证构建API时非常新:我正在寻找良好实践。

我遵循了此article中详述的规则。这是一篇法国博客文章,但有趣的部分是关于令牌认证的最后一条规则。

如果有人想要进行身份验证,他首先必须发送sig-in请求(例如,POST /sessions,其中包含电子邮件和密码作为发布数据)。如果身份验证成功,服务器会通过发回一个令牌来响应(比方说,“abcd ...”)。

然后,如果用户想要访问API,他必须使用请求发回令牌,但是已加密。例如,如果用户想要列出所有用户,他将使用HTTP GET请求查询/ users路径。他还会发送以下令牌及其请求:md5("abcd..." GET /users),而不是直接发送API返回的原始令牌(“abcd ...”)。

这是一个好习惯吗?是真的有必要还是只在每个请求中发送原始令牌就足够了?

您对进行令牌身份验证有何建议?

在我的研究中,我也读过JWT(JSON Web Token)。它是什么?是应该替换API返回的原始令牌还是将客户端发送的令牌封装到每个请求的API中?或其他什么?

1 个答案:

答案 0 :(得分:2)

OAuth 2.0已被广泛用作授权流程,并且有许多示例/库可用作参考点。

http://www.tutorialspoint.com/jquery/jquery-selectors.htm