如何保护 Web 服务调用

Posted

技术标签:

【中文标题】如何保护 Web 服务调用【英文标题】:How to secure web service call 【发布时间】:2017-01-03 13:25:00 【问题描述】:

我正在开发基于 SaS 的应用程序,用户可以在其中从他们的网站调用 api。基本上它可以从静态网站调用。如何保护 web api 调用而不会被垃圾邮件发送并只允许注册用户调用它。

【问题讨论】:

【参考方案1】:

有很多方法可以保护 Web 服务。但是,基本思想是给客户一个clientId。每次合法客户端(持有客户端 ID)登录时,它都会提供客户端 ID、用户名和密码,这些客户端会根据数据库进行检查。如果 clientId 存在,则用户名和密码得到验证。

【讨论】:

从静态网站调用 Web 服务。所以没有登录概念。最终应用程序只会使用 javascript Ajax 请求调用 api。 如果您想要安全的 Web 服务,就必须有一个登录概念。但是,只是为了确保只有注册用户才能使用您的 API,然后给每个用户一个令牌,他们将在每个请求期间使用它。但这可以从 html/js 应用程序的源代码中读取,因此不安全。在 Anularjs 中,这发生在 Angular 应用程序的服务器端,因此更安全。在这里寻找替代解决方案:oauth.net/2 在此处查找基于 Java 的 Web 服务解决方案:***.com/questions/4817643/…

以上是关于如何保护 Web 服务调用的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以保护在开源项目中进行的 Web 服务调用? [关闭]

如何调用在受SSL保护的服务器上运行的API

从 Android 调用使​​用 Spring Security 保护的 REST Web 服务

使用 RESTful 服务保护跨域的 API 调用

如何使用 Spring RESTful Web 服务处理 CSRF 保护?

如何在不使用身份验证的情况下保护 RESTful Web 服务