0

这里有点混乱。

我们正在构建一个将由应用程序和用户使用的 API。这是什么意思?好吧,这就是我们目前所拥有的:

用户在他们的计算机上下载我们的应用程序。如果是第一次使用,他们注册,否则,他们使用现有的用户名和密码登录。在后台,如果用户名使用其用户名和密码成功登录,则 api 会生成访问令牌,以便应用程序可以进行服务器 api 调用。

到目前为止,这很棒。这种身份验证方案甚至适用于我们基于 Web 的应用程序版本;访问令牌被传递。

最终,我们希望我们的用户能够拥有 API 访问权限,以构建他们自己的应用程序并使用 API。此外,还会有一些其他服务器-服务器应用程序也将使用 API。

基本上,应用程序之间的通信(无用户)可以访问整个 API,而另一方面,用户只能访问端点的一个子集,并且只能检索有关他们自己帐户的信息。

有什么方法可以处理这两种类型的身份验证方案吗?也许是服务器-服务器请求的 API 密钥和用户的 OAuth?您如何从具有范围的非用户中验证用户?我们不希望用户可以访问 GET /users 并检索所有用户的场景......该端点应该只保留给没有用户在玩的应用程序请求。是否有某种可以利用的混合模型(客户端凭据流)和 OAuth?

4

0 回答 0