2012-02-20 64 views
1

我正在构建一个提供API的Web应用程序,因为它是主要功能。我一直在寻找认证方法,但一直在努力做出关于使用什么的决定。使用查询字符串加密的REST API身份验证

由于这将是一项付费服务​​,API是服务,我需要尽可能使用它以便尽量不使用人员,但显然我希望它是安全的。我曾考虑过使用基于SSL的HTTP基本身份验证,但希望尽早避免SSL的成本/开销/麻烦,并可能稍后将其作为选项提供。

我喜欢AWS风格的API认证(请参阅here),但问题是我不能让用户发送查询字符串作为纯文本以及签名,因为参数可能包含电话号码,我认为客户会而不是暴露。我曾想过提供一个秘密密钥来加密与api密钥一起发送的字符串以识别用户。

您认为最好的选择是在保持简单性的同时还将请求字符串与请求一起加密吗?

回答

2

使用HTTPS。这很简单,几乎所有的客户端库都支持,可信,安全,并且保护URL和有效负载。

+0

我意识到最终这可能是最好的途径,但如果可能的话,我真的想避免SSL的开销,因为这可能会对所提供的服务产生影响。 – 2012-02-20 14:54:46

+1

好的,那么请记住,滚动您自己的专有安全系统将是一项成本,您的客户也必须承担费用。 – 2012-02-20 15:02:43

+0

是的,你说得对,这就是为什么我很难在这一个决定。也许我会使用HTTPS,如果性能真的受到影响,我会再次考虑。谢谢你的帮助,汤姆。 – 2012-02-20 15:09:38