我们正在规划一个iOS应用程序,在这个应用程序中,用户需要经过身份验证和授权才能与Symfony2 web服务提供的数据进行交互。
授权将用ACL实现,这是我不确定的身份验证。
从我的研究中发现,有几种方法可以实现身份验证部分,但是由于不会有任何第三方访问数据,这听起来就像是将基本HTTP身份验证与SSL证书结合在一起的方法。是对的吗?
此外,是一个足够安全的简单用户名和密码,还是添加某种API键进行标识比较好呢?
如果需要密钥,并且考虑到我们的用户将是组的一部分,那么应该将密钥绑定到每个用户或整个组?。
最后,稍微偏离主题的是,Symfony2有FOSRestBundle,有iOS?的事实上的REST库吗?
发布于 2013-06-16 10:41:46
由于https/ssl非常安全,您可以使用基本的http身份验证和/或api密钥解决方案。
是否使用密钥和/或用户名/密码是您的个人选择。如果请求可以被明文捕获,那么任何一个请求都会被破坏。
除了用户名/密码之外,密钥还具有分离(即用户特遣队)的优势。
基本的http身份验证主要是使用的,因此您的客户端拥有从他那端集成它的现有方法的可能性很大。
您应该始终给每个用户提供唯一的密钥或用户名/密码,以便能够记录那些做了什么的人。
对不起,我不太喜欢iOS。
发布于 2013-06-16 11:30:12
对于在symfony中保护REST应用程序,FOSOAuthServerBundle非常有用。有了它,您可以为您的应用程序实现简单的OAuth身份验证。OAuth是保护REST服务的事实上的标准。
https://stackoverflow.com/questions/17129662
复制相似问题