RESTful浏览器用户代理和身份验证

| 我已经看到了许多有关restful-authentication的问题,但是我想知道正在使用什么策略使浏览器用户代理在通过RESTful Web服务进行身份验证时保持无状态。 使用自定义REST客户端执行此操作“很容易”:我们可以使用基本身份验证,摘要,OAuth或自己滚动(自定义标头,令牌,签名等)。因此,对于机器到机器,我们几乎涵盖了所有内容,但是我只对通过日常浏览器用户代理(IE,Firefox等)进行身份验证感兴趣。例如,由于浏览器无法呈现/使用JSON,因此JSON消失了;) 关于浏览器限制,这是我的一些想法: AFAICS无法让浏览器发送自定义标头(例如OAuth使用的标头)吗? (对?) 我觉得应该可以有一个登录页面(例如html + ssl),用户可以在其中进行登录。 (无基本身份验证)然后,浏览器将捕获令牌并将其与每个请求一起传递回服务器。我的基本身份验证存在的问题是我没有“漂亮的自定义登录页面”。当前的身份验证机制是否可以扩展,以使我们保持宁静? 由于打破了可伸缩性优势的风险,我在打破/放松REST约束时非常谨慎。 这里有一个类似的答案,但我对cookie有一个特殊的情况:(无需赘述):由于服务器可以控制cookie,因此浏览器当前使用cookie的方式是不可能的。 (\“ Set-Cookie \”标头来自服务器端状态)。客户端不理解或解释它所馈送的cookie的内容,而只是返回它。问题在于客户端无法控制cookie。因此,是的,我们可以在“自定义/机器到机器的客户端”中以轻松的方式使用cookie,但这不是浏览器实现它的方式。 您一直在使用哪些策略和最佳实践,您的经验是什么?还有其他意见吗?     
已邀请:
我认为您提到的浏览器限制在大多数情况下是无法克服的。我们的个人解决方案是为用户提供一个轻量级的非RESTful层,其中包含一个自定义REST客户端;例如,对于JavaScript应用程序,我们通过JSON-RPC公开服务器端REST客户端。     
如果您使用的是apache网络服务器,则可能需要查看此文档。     

要回复问题请先登录注册