我在网上收到有关首选REST API身份验证/授权机制的混合信号,尤其是对于移动应用程序。
那是哪个?
答案 0 :(得分:3)
这听起来像是一个对冲,但答案是"无论什么适合你的应用程序"。
像OAuth和OpenID这样的第三方认证系统有它们的位置,它们非常适合某些应用程序,特别是那些允许客户成为API用户而不必将其个人凭据转移到另一台服务器的系统系统
但是,您可能正在构建一个没有该约束或要求的系统,并且要求您的客户在您的服务器上创建一个帐户可能是合理的。在这种情况下,您可以使用HTTPS和Basic Auth显着简化事情。让客户端在相应的标头中传递其用户名/密码,并确保您的连接受SSL保护。或者,让客户端使用证书作为其凭据。
我建议你先详细说明" security"意味着你,并从头开始工作。考虑每个相关方面,如完整性保证,不可否认性,重放保护,客户端影响,性能和API可用性。从那里,确定您是否需要HTTPS /基本身份验证,或者您还需要添加API密钥,OAuth,OpenID,校验和等。
答案 1 :(得分:1)
我建议使用OAuth 2,但在客户端中进行额外的证书检查。如果您的证书来自Verisign,则无效其他CA的所有证书。确保始终在同一个CA上获取证书,除非您喜欢分发更新。
但是,最后,只有客户端才能验证与服务器的连接是否完全安全。别忘了。