我想为 Keycloak 开发一个自定义策略提供程序,它根据所请求资源的 URI 评估决策。资源是/resource/{id}。如果客户端请求 /resource/1,则应授予访问权限,但如果 URI 为 /resource/2,则不应授予访问权限。
我已经有了一个正在运行的自定义策略提供程序,但我不知道如何从 Keycloak SPI 提供的评估类中提取请求的资源(字符串 /resource/2)。
根据策略评估 API,您可以获取 Resource 对象,但这包含 Keycloak 中定义的资源。
我现在的问题是:
要在自定义 Keycloak 策略提供程序中检索确切请求的 URI,您可以通过 Keycloak SPI 提供的评估上下文中可用的 HttpServletRequest 对象来访问它。