如何在 RestFul 应用程序中使用 OAuth 2 在前端处理用户权限?
Posted
技术标签:
【中文标题】如何在 RestFul 应用程序中使用 OAuth 2 在前端处理用户权限?【英文标题】:How to handle user permissions in front-end with OAuth 2 in RestFul applications? 【发布时间】:2020-09-27 03:46:53 【问题描述】:假设我们有一个基于 restFul 和 OAuth2 实现的应用程序,当然我们已经将用户的角色和权限存储在由 Java 和 Spring Boot 实现的后端。所以我想知道我们如何在前端处理用户的权限。实际上,有些字段或列应该显示给具有特定权限或角色的用户,但其他用户只能看到有限的字段或列。
对于这种情况,最有效和最明智的解决方案是什么?
前端是否应该从后端获取可用字段或列? 前端是否应该拥有所有关于用户凭据的信息来决定? 或者有什么解决方案可以做到这一点?【问题讨论】:
【参考方案1】:这是最常见的解决方案,其中所有安全性都由 API 强制执行:
API 响应省略了用户无权访问的字段/列 UI 可以询问 API 用户有权访问哪些字段/列 UI 隐藏基于此 API 元数据的元素通常会有这样的端点,UI 可以向其发送访问令牌以获取上述元数据:
GET /api/userclaims/current【讨论】:
以上是关于如何在 RestFul 应用程序中使用 OAuth 2 在前端处理用户权限?的主要内容,如果未能解决你的问题,请参考以下文章
将 OpenID (RPX)(可能还有 OAuth)用于 RESTful Web 服务
在这种 SaaS 场景中,OAuth 是 RESTful API 的好选择吗?
在 Spring Boot OAUTH2 中返回 RESTful/json 响应而不是登录表单
使用Spring Security和OAuth2实现RESTful服务安全认证