【发布时间】:2020-04-09 11:33:48
【问题描述】:
在使用 oauth2 通过 IdP 对其用户进行身份验证的 Web 应用程序中,实现用户权限(客户端和服务器端)的更标准/推荐的选项是什么?
“用户权限”是指用户在应用程序中允许或不允许执行的操作。
例如,假设应用程序有一个“管理”页面,用于管理应用程序的一些设置,只允许特定用户进入。其中一些用户只被允许查看当前设置,而其他用户也被允许更改设置(可能只有其中一些)。
据我所知,oauth2 中的“范围”概念可能用于实现这样的要求,例如,仅允许查看“管理员”页面的用户将具有 app:admin:view 范围,而还可以编辑设置的用户将具有app:admin:some-setting:edit 范围。
但是,在大多数大型身份提供者服务中,管理这些范围以及将它们分配给用户的任务似乎相当繁琐。
这会是一个好的解决方案吗?如果是这样,是否有任何产品/服务与 oauth2 IdP 集成并有助于更轻松地管理权限及其对用户的分配(例如,使用直观的 UI)?如果没有,是否有任何既定的方法来处理这种情况?
【问题讨论】:
标签: security oauth-2.0 permissions authorization user-permissions