【发布时间】:2013-07-15 09:54:49
【问题描述】:
我希望使用 OAuth 来保护某些 Web 服务。 OAuth 2 非常适合我的用例,在这些用例中,用户可能使用 API 访问他/她自己的数据或授予某人访问权限以代表他调用 API。
但是,最初的 API 用户集技术含量不高,他们不希望仅仅为了生成令牌而进行 API 调用。我正在考虑实施以下解决方案,但不确定这是否正确。
如果用户是开发者,那么
- 有一个他/她可以注册应用程序的屏幕。这将生成一个 API 密钥/密钥对。
- 要访问他/她自己的数据(对于 2 腿身份验证),有一个 UI 屏幕,用户可以在其中为他注册的应用程序生成访问令牌。他可以在表格中指定范围和持续时间。
- 如果他是第 3 方开发人员,则需要将他的应用程序 API 密钥传递给他需要代表其访问 API 并获取访问令牌的人。
如果用户希望其他应用程序/开发人员代表他访问 API,那么
- 有一个屏幕,他可以在其中输入第三方的 API 密钥、范围和授权持续时间。他可以将生成的访问令牌传递给将访问 API 的开发人员
我将使用相同的 OAuth 库来生成令牌,如果我采用了 Web 服务路线,我会使用该令牌。此外,我还可以在当前情况无法扩展或出现需求并且现有令牌仍然有效时开发服务。
【问题讨论】: