当前位置: 首页 > 知识库问答 >
问题:

基于SSL的REST API HTTP基本身份验证

白嘉石
2023-03-14

我不熟悉RESTful API的概念。

我正在为一家在线商店设计一个RESTful API。

我没有正确理解SSL上的基本HTTP身份验证的概念。

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

有人能详细解释它的功能和用途吗?

共有1个答案

司寇光华
2023-03-14

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

授权:基本QWXHZGRPBJPCGVUIHNLC2FTZQ==

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

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

现在,这有一个缺点,即在cpu上建立HTTPS连接比普通的HTTP连接更昂贵。很明显,如果您想用此标头对每个请求的rest调用进行身份验证,您应该使rest API仅对HTTPS连接可用。

 类似资料:
  • 问题内容: 从HttpClient 4.3开始,我一直在使用HttpClientBuilder。我正在连接到具有基本身份验证的REST服务。我将凭据设置如下: 但是,这不起作用(我正在使用的REST服务返回401)。怎么了? 问题答案: 从此处的 抢先身份验证 文档中: http://hc.apache.org/httpcomponents-client- ga/tutorial/html/aut

  • 所以我正忙着为twitter开发一个应用程序,我希望人们使用PIN进行身份验证。(https://dev.twitter.com/oauth/pin-based). 要向人们显示PIN码,我需要使用以下命令:https://dev.twitter.com/oauth/reference/get/oauth/authorize 那里的例子说:https://api.twitter.com/oauth

  • 我正在Spring Boot应用程序中学习Spring Security性,我试图了解默认情况下使用Spring Security性的身份验证方式。我知道Spring Security默认情况下使用基于表单的身份验证,但我使用基本身份验证对Postman进行了测试,结果正常。 我有一个非常简单的Spring Boot应用程序。 Rest控制器: 我在pom中添加了Spring Security依赖

  • 目前我正在开发一个Java工具,它应该可以更新Confluence服务器页面。使用Curl一切都像一个符咒,但是当使用Postman或Java代码(HttpClient Java11)时,我得到了一个 HTTP状态401–未经授权 反应。 在下面的语句中使用curl curl--basic-u user:password-X PUT-H“内容类型:application/json”-d“@test

  • 几天没有任何进展,我需要你的帮助。 使用GWT,我试图与REST服务器通信,服务器位于不同的URL上(需要CORS)<我的配置:服务器spring boot 1.3.3 客户端-GWT 1.7-restygwt 2.0.3 当我在Spring中禁用安全性时,我可以在我的GWT客户端中获取数据。 但是当我启用它时,我总是收到401个请求。REST URL请求直接在Web浏览器中工作(带有其身份验证对

  • 我正在尝试使用OAuth2实现开发一个带有Spring Security性的rest api。但是如何删除基本身份验证呢。我只想向body发送用户名和密码,并在postman上获取令牌。 要删除基本身份验证,并从邮递员的get token中发送body标记中的用户名密码吗 我遇到了一些问题{"错误":"未经授权","error_description":"没有客户端身份验证。尝试添加适当的身份验证