我正在计划一个以REST API为中心的网络应用程序,我希望这个API成为访问应用程序的唯一途径,无论是来自我自己的网站还是通过OAuth 2授权使用API的任何其他工具
显然,管理员只能访问一些关键部分:用户删除,结算管理......
我想知道在这种情况下最佳做法是什么:
答案 0 :(得分:0)
我会把各个部分放在一起,我不认为这是一个安全风险。我甚至看到了两种不同的实现路径:
使用普通的OAuth2。 API的管理部分只需要存在" admin"附加标记的范围,而其他部分只需要一个"用户"范围。但是,您应该以某种方式确保只有管理员用户可以使用" admin"范围。您可能必须为此自定义OAuth服务器。
忽略令牌范围。而是使用特殊的令牌验证来获取授予令牌的用户的角色。
无论哪种方式,我认为没有理由将管理部分与API的其余部分分开。