【问题标题】:How to pass username and password via REST call securely?如何通过 REST 调用安全地传递用户名和密码?
【发布时间】:2012-04-06 21:30:46
【问题描述】:

我需要保护我的 REST 调用以访问服务。我的情况是
i) 在其余调用中提供用户名和密码以访问服务
ii) 在后端,提取 U/P 并从中提取需要访问另一个将遵循用户名身份验证的服务。

我浏览了很多博客,这些博客透露要使用“HTTPS”,还有一些博客说要使用 Basic 和 Digest 身份验证机制。我是这个领域的新手,任何人都可以知道我如何通过这个场景。

【问题讨论】:

标签: wcf rest


【解决方案1】:

使用 HTTPS,所有流量都将被安全加密,包括用户名和密码。

但是,这将加密整个数据流。

如果您要传输安全的信息,我会建议您这样做。

【讨论】:

  • 您好,https 只会避免中间人攻击,它是一种通过网络的点对点方法。但我需要发送 U/P 而不是纯文本。
  • 那么您要寻找哪种类型的安全性?
  • 如果 HTTPS 存在问题,那么您需要加密凭证并将其放入请求 Uri 或正文中。但是,这意味着您必须找到一种将公钥分发给客户端进行加密的方法,并且客户端必须具备进行加密的能力。例如,这规则了我们的浏览器客户端。我同意@adam king 的观点,在这种情况下 HTTPS 是正确的选择。
【解决方案2】:

使用HTTPS确实是点对点的安全机制。 但肯定不能在 REST url 中传递您的用户名/密码进行授权。

您可以在服务 URL 中使用专用 API 密钥。例如。 maps.google、twitter。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 2016-02-03
    • 2010-10-24
    相关资源
    最近更新 更多