你不必将Keycloak与spring-boot集成(实际上你不应该这样做,因为Keycloak libs for spring are deprecated)。 Spring-security为资源服务器提供了工具。Sample here。 我还在spring-boot-starter-oauth2-resource-server之上编写了(very)薄层,以简化资源服务器配置。大多数配置选项都可以从属性中获得,这在微服务中保存了相当多的Java代码。Sample there。 在advanced tutorial之后,您甚至可以构建一个与@PreAuthorize("is(#username) or isNice() or onBehalfOf(#username).can('greet')")一样有表现力的安全DSL。祝你好运,以实现同样的API getway。 上面链接的repo还包含了很多用于配置单元测试安全上下文的注解:
2条答案
按热度按时间7kqas0il1#
我不会将安全性与微服务分离,原因有两个:
你不必将Keycloak与spring-boot集成(实际上你不应该这样做,因为Keycloak libs for spring are deprecated)。
Spring-security为资源服务器提供了工具。Sample here。
我还在
spring-boot-starter-oauth2-resource-server
之上编写了(very)薄层,以简化资源服务器配置。大多数配置选项都可以从属性中获得,这在微服务中保存了相当多的Java代码。Sample there。在advanced tutorial之后,您甚至可以构建一个与
@PreAuthorize("is(#username) or isNice() or onBehalfOf(#username).can('greet')")
一样有表现力的安全DSL。祝你好运,以实现同样的API getway。上面链接的repo还包含了很多用于配置单元测试安全上下文的注解:
disbfnqx2#
这里有一篇非常详细的文章介绍了API Gateway和keycloak的使用:https://apisix.apache.org/blog/2022/07/06/use-keycloak-with-api-gateway-to-secure-apis/