我已经看到很多关于restful-authentication的问题,但我想知道在对RESTful Web服务进行身份验证时,浏览器用户代理使用什么策略是无状态的。
使用自定义REST客户端执行此操作非常简单:我们可以使用Basic Auth,Digest,OAuth或自行滚动(自定义标头,令牌,签名等)。因此,对于机器到机器,我们几乎被覆盖,但我只对使用日常浏览器用户代理(IE,Firefox等)的身份验证感兴趣。例如JSON已经出局,因为浏览器无法呈现/使用它;)
以下是我对浏览器限制的一些看法:
A similar answer here但我有针对Cookie的特殊情况 :(没有详细说明):浏览器目前使用Cookie的方式是不可能的,因为服务器是控制cookie。 (服务器端状态的“Set-Cookie”标头)。客户不理解或解释它所喂食的cookie的内容,只是将其返回。问题是客户端无法控制cookie。因此,是的,我们可以在“自定义/机器到机器客户端”中以一种宁静的方式使用cookie,但这不是浏览器实现它的方式。
您一直在使用哪些策略和最佳做法以及您的经历是什么?还有其他意见吗?
答案 0 :(得分:1)
我认为您提到的浏览器限制对于大多数用例而言基本上是不可克服的。我们的个性化解决方案是向用户提供一个包含自定义REST客户端的轻量级非RESTful层;例如,对于JavaScript应用程序,我们通过JSON-RPC公开服务器端REST客户端。
答案 1 :(得分:1)
如果您使用的是apache Web服务器,可能需要查看this document。