我们正在规划一个iOS应用程序,在这个应用程序中,用户需要进行身份验证和授权,然后才能与Symfony2 Web服务提供的数据进行交互。
授权将使用ACL实现,这是我不确定的身份验证。
从我在研究中发现的,有几种方法可以实现身份验证部分,但由于没有任何第三方访问数据,这听起来像基本的HTTP身份验证与SSL证书配对是通往走。 这是正确的吗?
此外,是一个足够安全的简单用户名和密码,还是最好添加某种API密钥进行识别?
如果需要密钥并且考虑到我们的用户将成为群组的一部分,是否应该将密钥单独绑定到每个用户或整个群组?
最后,稍微偏离主题,Symfony2有FOSRestBundle,是否有适用于iOS的事实REST库?
答案 0 :(得分:1)
为了保护symfony中的REST应用程序,FOSOAuthServerBundle非常有用。有了它,您可以为您的应用实施简单的OAuth身份验证。 OAuth是保护REST Web服务的事实标准。
答案 1 :(得分:0)
由于https / ssl非常安全,您可以使用基本的http身份验证和/或api密钥解决方案。
使用密钥和/或用户名/密码是您个人的选择。 如果以某种方式请求以明文形式获取,则任何一方都会受到损害。
除用户名/密码auth之外的密钥可以具有分离即用户特遣队的优势。
主要使用基本的http身份验证,因此您的客户端已经有可能从他的方面集成它的机会很高。
您应该始终为每个用户分配唯一的密钥或用户名/密码,以便能够记录究竟是谁做了什么。
我对iOS的了解不多。抱歉。