我正在开发一个web应用程序的API。桌面客户端将使用简单HTTP post (REST)与API进行交互。我将使用SSL,这是毫无疑问的。我的问题是:在通过SSL发送数据之前,我是否也应该对数据进行加密?正在发送的信息可能包含机密信息。SSL是否足够了,或者我应该做更多?对于添加额外的安全层,我唯一担心的是,这将使人们与API进行交互变得更加困难。任何关于这方面的想法都将不胜感激。
我有一个Asp.net Web API项目。
该项目通过接收名为sessionToken的参数来验证所有请求
http://myapi.com/api/applications/getApplications?sessionToken=xxx
然而,我听说通过公共urls发送敏感参数是不安全的,我已经看到了一个,我可以在HttpClient请求的头部中添加sessionToken参数:
using (HttpClient client = new HttpClient())
{
client.BaseAddress = new Uri("http://myapi.com/
我被要求为客户创建一个API。在我开始之前,我有几个问题。我决定使用ASP.NET Web API技术。我已经创建了我的第一个方法,它工作得很好,我能够以XML/Json格式返回一组产品结果。问题是,任何人谁访问我的API持有在我的网站将能够看到我的所有产品。我已经有了一个客户数据库,我如何使用它,以便在访问我的API之前,他们必须设置一些凭据。
Web和Desktop客户端都应该可以访问API
我想过的一种方法是,他们将用户名/密码作为参数传递,但这似乎不是很安全/对吗?例如:api/products/GetById/750?username=bob&pass=123