Spring 安全即微服务

Spring Security as a micro service

我的应用程序设计如下:

Browser---calls----> Web MicroService ----calls---> REST micro service

REST Client --calls--> REST micro service.

我想使用 spring 安全性作为应用程序的入口点来验证 user/session/client 并在下划线微服务中重用有关用户的信息。我想为它提供安全服务。

浏览器-->安全服务 ----> Web微服务----> REST微服务

REST 客户端 ---->安全服务 ----> REST 服务。

问题:

  1. 安全服务如何将所需的用户信息传递给其他服务?

  2. 如果Spring安全性需要在Web Service和REST服务中集成,当REST微服务被Web服务调用或直接被rest client调用时,令牌验证将如何工作?

  3. 为问题 2 生成 JWT 令牌时,客户端 ID 和密钥应该是什么?

注意:所有服务都可以访问同一个数据库

如果我理解正确的话,您将安全服务视为处理身份验证并通过其余服务调用的代理?为什么不限制对 REST 服务的网络访问以确保所有请求都通过安全服务?然后,您可以将用户名和其他信息设置为由安全服务发送到 REST 的常规参数,因为您可以信任您获得的值。否则,您可能会有另一个处理身份验证并发回用于调用其他服务的 JWT 令牌的休息服务