OAuth 2.0 访问控制与应用安全保障
1. 使用范围限制令牌访问
在 OAuth 2.0 中,限制访问令牌权限的默认机制是直接通过范围(scopes)实现。范围在第三方应用中尤为有用,因为用户需要同意应用代表他们访问资源。
在 Keycloak 里,OAuth 2.0 的范围会映射到客户端范围。若你只想定义一个应用可请求的范围,让资源提供者借此提供对资源的有限访问,那么可以定义一个空的客户端范围,它无需协议映射器,也不访问任何角色。
定义范围时,需注意以下几点:
- 不要过度定义范围,应控制范围数量。
- 考虑范围对最终用户的呈现方式,确保用户能理解授予该范围权限的含义,避免因应用请求大量范围而产生困惑。
- 范围通常应在组织内的所有应用中保持唯一,可使用服务名称作为前缀,甚至考虑使用服务的 URL 作为前缀。
以下是一些范围示例:
- albums:view
- albums:create
- albums:delete
- https://api.acme.org/bombs/bombs.purchase
- https://api.acme.org/bombs/bombs.detonate
定义范围没有标准,可参考 Google、GitHub、Twitter 等定义的范围获取灵感。例如:
| 平台 | 范围示例 |
| ---- | ---- |
| Google |
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



