我目前正在努力指定我公司的新合作伙伴/公共 API,这将是一个面向资源的 RESTful Web 服务。目前缺少的一块拼图是身份验证/授权。
要求是:
- 最初它必须适用于服务器到服务器的环境,例如,服务器应用程序必须能够识别自己,以便我们知道谁在调用 API。
- 将来,我们希望允许它模拟用户帐户,因此除了被识别的服务器之外,它还将拥有一个在有限时间内代表用户帐户的令牌。
OAuth 似乎非常适合 (2) 的工作流程,即获取令牌、重定向到用户输入其凭据以对其进行授权的网站,然后使用该令牌来识别/验证应用程序和用户。
但是,根据我的阅读,我不知道它是否适合 (1) - 即是否有任何方法可以使用 OAuth来识别调用应用程序而无需有效的用户特定令牌,因此不需要被重定向到一个网页让他们输入他们的凭据?