【问题标题】:API Token authentication: Good practicesAPI 令牌认证:良好实践
【发布时间】:2015-09-03 21:19:16
【问题描述】:

我目前正在一个学校项目的上下文中使用 Rails4 构建一个 REST API,但我在构建带有令牌身份验证的 API 方面还很陌生:我正在寻找好的做法。

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

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

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

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

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

在我的研究中,我还阅读了有关 JWT(JSON Web Token)的信息。它是什么?是应该替换API返回的原始令牌还是封装客户端发送给API的每个请求的令牌?还是别的什么?

【问题讨论】:

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


    【解决方案1】:

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

    http://oauth.net/2/

    【讨论】:

    • 根据我的阅读,OAuth 更像是一个授权过程,用户通知我的应用程序第三方应用程序将通过他的帐户访问我的 API,而不是每个请求的身份验证过程。这似乎不是我要找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 2019-08-11
    • 2018-12-02
    • 1970-01-01
    • 2018-11-20
    • 2022-06-30
    • 2018-08-27
    相关资源
    最近更新 更多