桌面应用程序使用的RESTful API的身份验证方案

时间:2010-05-25 09:19:38

标签: web-services security authentication

我正在提供RESTful API。此API由第三方桌面应用程序使用。 API目前使用基本身份验证进行保护。这不是很安全,因为凭证必须存储在客户端应用程序中。桌面应用程序和API之间的通信也很容易被截获。

桌面应用程序还与第三方服务器通信(由桌面应用程序的发布者运行)

我无法弄清楚如何以良好的方式保护API。想法?

1 个答案:

答案 0 :(得分:1)

您似乎在这里有两个独立的问题:(1)客户端上的凭据存储,以及(2)与服务的通信。

您可以通过在SSL下运行服务来解决服务通信(并阻止流拦截)。整个通信流都是加密的。

客户端上的凭据存储超出了API的范围 - 您无法控制某人使用凭据执行的操作。如果您还负责部署和维护调用API的桌面客户端,那么有一些策略可以在客户端上保留凭据(取决于操作系统。)否则,您最安全的选择很简单 - 不要存储凭据,要求user为每个会话提供uid / pwd参数。同样,它完全依赖于主机操作系统和客户端应用程序。