【发布时间】:2014-04-26 09:04:07
【问题描述】:
我有一个应用程序的想法,它的后端使用 OAuth2 为本地移动应用程序和桌面浏览器提供服务。
阅读 OAuth2 参考后,我意识到我只需要使用简单的Resource Owner Password Credentials Grant,因为这些客户端不是第 3 方客户端。换句话说,我只是将 OAuth2 用作一个简单的登录协议,它可以为原生移动应用程序和浏览器提供服务,而不是使用浏览器的会话和应用程序的令牌(我宁愿通过使用 OAuth2 的密码授权来保持简单明了)。
但是,我想将来我会为第 3 方向公众发布一个 API。 我将如何设法为第三方以及上述移动应用和浏览器提供服务?
我主要担心的是我最终会得到一个具有两种不同角色的服务器:一种用于第 3 方,另一种用于它直接支持的移动应用程序和浏览器。我该怎么做呢?我想我可以使用单个 Authorization Code Grant,并将第 3 方应用程序与移动/浏览器应用程序区分开来,移动/浏览器应用程序将通过向其提供来自 API 的全部范围资源来拥有完整的功能。
【问题讨论】: