REST API是否应包含ADMIN部分并使用与其余API相同的OAuth 2授权?

时间:2014-04-10 16:11:16

标签: api security rest oauth oauth-2.0

我正在计划一个以REST API为中心的网络应用程序,我希望这个API成为访问应用程序的唯一途径,无论是来自我自己的网站还是通过OAuth 2授权使用API​​的任何其他工具

显然,管理员只能访问一些关键部分:用户删除,结算管理......

我想知道在这种情况下最佳做法是什么:

  • API是否应包含仅在OAuth授予管理员权限时才能访问的管理部分(例如/ admin)?
  • 这是否存在安全风险,是否应通过不同的隐藏安全访问以不同方式访问管理员部分?

1 个答案:

答案 0 :(得分:0)

我会把各个部分放在一起,我不认为这是一个安全风险。我甚至看到了两种不同的实现路径:

  1. 使用普通的OAuth2。 API的管理部分只需要存在" admin"附加标记的范围,而其他部分只需要一个"用户"范围。但是,您应该以某种方式确保只有管理员用户可以使用" admin"范围。您可能必须为此自定义OAuth服务器。

  2. 忽略令牌范围。而是使用特殊的令牌验证来获取授予令牌的用户的角色。

  3. 无论哪种方式,我认为没有理由将管理部分与API的其余部分分开。