我的应用程序设计如下所示:
浏览器调用--- ----> Web MicroService ----调用---> REST微服务
REST客户端 - 调用 - > REST微服务。
我想使用spring security作为应用程序的入口点,以验证用户/会话/客户端,并在下划线微服务中重用有关用户的信息。我正在考虑为它提供安全服务。
浏览器 - > 安全服务 ----> Web MicroService ----> REST microService
REST客户端----> 安全服务 ----> REST服务。
问题:
安全服务如何将有关用户的所需信息传递给其他服务?
如果需要在Web服务和REST服务中集成Spring安全性,那么当Web服务调用REST微服务或直接由rest客户端调用时,令牌验证将如何工作?
在为问题2生成JWT令牌时,客户端ID和密钥是什么?
注意:所有服务都可以访问相同的数据库
答案 0 :(得分:1)
如果我理解正确,您将安全服务视为处理身份验证的代理并通过其他服务调用?为什么不限制对REST服务的网络访问以确保所有请求都通过安全服务?然后,您可以将安全服务发送到REST的用户名和其他信息常规参数,因为您可以信任您获得的值。否则你可能有另一个处理auth的休息服务并发回用于调用其他服务的JWT令牌