如何在 REST Web 服务中验证用户身份?

Posted

技术标签:

【中文标题】如何在 REST Web 服务中验证用户身份?【英文标题】:How do I authenticate user in REST web service? 【发布时间】:2011-07-28 13:09:55 【问题描述】:

如何编写REST Web服务中的用户认证方法? 我是网络服务的初学者。

【问题讨论】:

在 REST Web 服务中有不同的用户身份验证方式。您必须提供更多信息才能获得任何有意义的答案。 how do i authenticate for user in REST web service in web application? 的可能重复项 【参考方案1】:

身份验证本身应该以无状态的方式完成,这样 REST 范式才不会被破坏。这意味着必须对每个请求进行身份验证。 这个SO question 可能会提供更多详细信息

最简单的方法是通过 SSL 加密连接 (https) 使用 HTTP-Basic AUTH (rfc2617)。以下是一些 java 示例:

ericonjava my blog entry

另一种方法是使用随机数,这样您就不必每次都重新发送用户/密码组合,但它们更具挑战性:

Nonce Usage

有很多方法可以对用户进行身份验证,但是这两种是最常用的,它们不会在服务器端保存会话状态。

希望有所帮助

【讨论】:

以上是关于如何在 REST Web 服务中验证用户身份?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用被盗令牌防止 Rest Web 服务身份验证

如何使 Django REST JWT 身份验证与多个 Web 服务器一起扩展?

如何使用 oauth2 通过 REST Web 服务进行身份验证

REST Web 服务的身份验证

为用户和身份验证使用解析服务器并调用其他内部 REST Web 服务

如何实现 REST API 的身份验证?