[英]Secure RESTful web service using Symfony2
我们正在计划一个iOS应用程序,在该应用程序中,用户必须先经过身份验证和授权,然后才能与Symfony2 Web服务提供的数据进行交互。
授权将通过ACL实现,这是我不确定的身份验证。
根据我的研究发现,有几种方法可以实现身份验证部分,但是由于没有第三方访问数据,因此听起来像将基本HTTP身份验证与SSL证书配对是可行的方法。 这个对吗?
此外, 简单的用户名和密码是否足够安全,还是添加某种API密钥进行识别更好?
如果需要一个密钥并且考虑到我们的用户将成为一个组的一部分, 那么该密钥应该单独绑定到每个用户还是整个组?
最后,略微偏离主题的是,Symfony2具有FOSRestBundle , 是否有适用于iOS的事实上的REST库?
为了确保Symfony中的REST应用程序安全, FOSOAuthServerBundle非常有用。 借助它,您可以为您的应用实现简单的OAuth身份验证。 OAuth实际上是用于保护REST Web服务的标准。
由于https / ssl非常安全,因此您可以使用基本的http身份验证和/或api密钥解决方案。
是否使用密钥和/或用户名/密码是您的个人选择。 如果以某种方式可以以明文形式捕获请求,则其中一个都会受到威胁。
除用户名/密码认证外,密钥还具有分离用户优势的优势。
基本使用http身份验证,因此客户端使用现有的方法集成身份验证的可能性很高。
您应该始终向每个用户提供唯一的密钥或用户名/密码,以便能够记录谁做了什么。
抱歉,我不太喜欢iOS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.