【发布时间】:2020-07-23 14:08:22
【问题描述】:
这是一个架构问题。我想实现一个处理两种用户(管理员和客户端)的应用程序。每个角色可以通过以下方式注册:
- admin:用户名/密码注册
- 客户端:Facebook/Google/用户名和密码注册
根据用户的角色,他们每个人都有他有权执行的特定操作。
从技术堆栈来看,我想在 Docker 和 Kubernetes 上使用 Java 8、Spring Cloud Netflix 以及更高版本(以实现自动修复和自动扩展)。
我已经实现了 Eureka 发现、配置服务器、Zuul 网关,并且每个角色都有两个微服务(让我开始使用)。我根本不知道如何处理用户的身份验证/授权,从我看到的 Spring Security 5 不再支持授权服务器,我应该使用 Keycloack?网关应该是授权服务器还是应该创建另一个负责身份验证的组件?我使用什么,如何实现,如何处理我的授权服务器和业务微服务之间的重定向?
我真的找不到使用用户名/密码、社交登录和 Spring Cloud Netflix 以及 Spring Security 5 的合适文档。
【问题讨论】:
-
如今,有几个授权服务器可供选择,包括 Keycloak。然而,Spring Security 团队暗示他们可能会重新考虑他们的决定:github.com/spring-projects/spring-security/issues/…
标签: spring-security spring-cloud keycloak spring-security-oauth2 spring-cloud-netflix