第 8 章 授权服务
Red Hat Single Sign-On Authorization Services 基于已知的标准构建,如 OAuth2 和用户管理的访问规格。
OAuth2 客户端(如前端应用)可以使用令牌端点从服务器获取访问令牌,并将这些令牌用于访问由资源服务器(如后端服务)保护的资源。同样,Red Hat Single Sign-On Authorization Services 为 OAuth2 提供扩展,允许根据处理与请求资源关联的所有策略来发布访问令牌。这意味着资源服务器可以根据服务器获得的权限强制访问其受保护的资源,并由访问令牌持有。在 Red Hat Single Sign-On Authorization Services 中,具有权限的访问令牌被称为 Requesting unsupported Token 或 RPT for short。
除了 RPTs 的经验,Red Hat Single Sign-On Authorization Services 还提供一组 RESTful 端点,允许资源服务器管理其受保护的资源、范围、权限和策略,帮助开发人员将这些功能扩展到其应用程序中,以支持精细的授权。
8.1. 发现授权服务端点和元数据 复制链接链接已复制到粘贴板!
Red Hat Single Sign-On 提供发现文档,客户端可从中获取所有必要信息,以便与红帽单点登录授权服务(包括端点位置和功能)进行交互。
发现文档可从以下位置获取:
curl -X GET \ http://${host}:${port}/auth/realms/${realm}/.well-known/uma2-configuration
curl -X GET \
http://${host}:${port}/auth/realms/${realm}/.well-known/uma2-configuration
其中 ${host}:${port}
是运行 Red Hat Single Sign-On 的主机名(或 IP 地址)和端口,而 ${realm}
是 Red Hat Single Sign-On 中域的名称。
因此,您应该获得如下响应:
每个端点都公开一组特定的功能:
token_endpoint
支持
urn:ietf:params:oauth:grant-type:uma-ticket
授权类型的 OAuth2 兼容令牌端点。通过此端点客户端可以发送授权请求,并通过 Red Hat Single Sign-On 授予的所有权限获取 RPT。token_introspection_endpoint
OAuth2-compliant Token Introspection Endpoint,客户端可以用来查询服务器来确定 RPT 的活动状态,并确定与令牌关联的任何其他信息,如 Red Hat Single Sign-On 所授予的权限。
resource_registration_endpoint
与 UMA 兼容的资源注册端点,资源服务器可用于管理受保护的资源和范围。此端点提供 Red Hat Single Sign-On 中的操作创建、读取、更新和删除资源和范围。
permission_endpoint
与 UMA 兼容的 Permission Endpoint,资源服务器可用于管理权限票据。此端点在 Red Hat Single Sign-On 中提供操作创建、读取、更新和删除权限问题单。