首页 文章

REST API的SSL基本身份验证

提问于
浏览
42

我是Restful API概念的新手 .

我正在为网上商店设计一个安静的api .

我没有正确理解ssl上的基本http身份验证的概念 .

这是否意味着,对于每个请求,用户都必须再次输入他/她的用户名和密码?

有人可以详细解释它的功能如何以及如何使用它?

提前致谢 .

1 回答

  • 69

    基本身份验证只是一个标准的HTTP标头,用户和传递编码在base64中:

    授权:基本QWxhZGRpbjpvcGVuIHNlc2FtZQ ==

    http://en.wikipedia.org/wiki/Basic_access_authentication) . 如果您通过此标头通过非ssl连接验证您的其余API调用,问题是中间的任何人都可以从您的auth标头解码您的用户名和密码 .

    要确保您的密码是安全发送的,而不是普通的HTTP连接,您必须使用HTTPS . HTTP和HTTPS之间的唯一区别是HTTPS使用TCP / IP上的SSL / TSL安全协议而不是普通的TCP / IP .

    现在这有一个缺点,就是在cpu上 Build HTTPS连接比普通HTTP连接更昂贵 . 很明显,如果要使用此标头对每个请求进行其余调用的身份验证,则应使您的其余API仅适用于HTTPS连接 .

相关问题