【发布时间】:2014-11-10 14:26:39
【问题描述】:
我有一个 RESTful API,我希望只有特定的受信任桌面客户端可以代表用户访问 API。当然,正如大多数人所说,OAuth 是必经之路。但我在试图理解为什么以及如何使用 OAuth 时遇到了一些问题。
首先,我不希望我的服务器存储密码,因此我决定使用其他 OAuth/OpenID 提供程序进行登录。此外,我的桌面客户端也被允许与 API 交互。所以服务器需要检查是否:
- 请求来自此特定客户端
- 请求来自有效用户
这表示用户不应该看到“允许此应用程序代表您进行交互”-登录时的屏幕,我不需要任何范围。
我读过我应该选择两足 OAuth1.0a,但后来他们说 OAuth1.0a 已弃用,您应该考虑使用 OAuth2 进行新的集成。我已经实现了一种类似于 Amazon AWS 的方法,但后来我注意到我只能使用这种方法对客户端进行身份验证,而不是对用户进行身份验证。
那么,满足我的需求的方法是什么?
我敢肯定,以前在某个地方,不知何故,已经有人问过这样的问题,但这太令人困惑了,而且令人沮丧。
【问题讨论】: