gpt4 book ai didi

spring-security - Spring Cloud + Zuul + JWT 用于值(value)/引用 token

转载 作者:行者123 更新时间:2023-12-03 11:30:09 26 4
gpt4 key购买 nike

看完文章 How To Control User Identity Within Microservices 我一直在尝试实现这样的访问控制方案(值和引用 token ),但是在 GitHub 中与 Spring Security + OAuth + Zuul 相关的多个其他主题和示例之后,我找不到具体的示例来说明这是如何实现的达到了。所有涉及 JWT 的示例在返回 token 时都返回用户详细信息,这是我想避免的。用户详细信息不应直接到达客户端,而应传递给后端服务。教程 Spring Security + AngularJs 有很多关于如何将应用程序发展为安全应用程序的信息,但使用访问 token 或提到直接通过 JWT 获取用户详细信息的可能性。

这个问题, Using Zuul as an authentication gateway 来自 @phoenix7360 ,正是我一直在尝试实现的方法,但它仅提供了对微服务执行这种安全方法所需的配置的简要概述。请参阅此问题中的图像,以清楚地了解它将如何进行。

我无法完全理解 Zuul 前置过滤器 应该配置以及授权服务器的配置应该是什么样子。正如文章和 SO 问题中所述,流程将如下所示:

外部 (HTTPS)

  • 客户端针对 OAuth2 服务器进行身份验证
  • OAuth 服务器返回一个不透明的访问 token (一个没有其他信息的 UUID)
  • 客户端使用授权 header 中的访问 token 将请求发送到 API 网关
  • API 网关使用授权 header 中的访问 token 向 OAuth 服务器请求用户详细信息
  • OAuth 服务器检查访问 token 是否有效并以 JSON 格式返回用户信息

  • 内部 (HTTP/S)
  • API Gateway 使用用户详细信息创建 JWT 并使用私钥对其进行签名
  • API Gateway 添加 JWT 请求转发到资源服务器
  • 资源服务器使用 API 网关的公钥验证 JWT

  • 注意:如果 OAuth 服务器指示访问 token 不再有效,API 网关应返回错误。

    ZuulFilter 将如何工作?是否需要针对 OAuth 服务器发出新请求(例如,通过 RestTemplate),或者当前实现是否支持这些方案? OAuth 和 Zuul 的 JavaConfig 类是否需要任何特定配置?如果有人知道一个真正有用的工作示例,并且非常适合将来有关此主题的引用。

    我正在使用 Spring Boot (1.4.0-M3) + Spring OAuth + Spring Cloud(Eureka、Ribbon、Zuul)

    我知道这个问题与之前链接的问题非常相似,如果这不是正确的做法,我深表歉意,但我认为一个新的线程会比在旨在解决另一个问题的 SO 线程上寻求帮助更好.

    提前致谢!

    最佳答案

    JHipster 在处理这个问题方面做得很好。如果我想简单介绍一下登录过程,首先您要登录,然后及时获取需要传递给以下服务的所有信息(例如用户名、电子邮件等),然后将它们传递给您的微服务。
    您可以从 okta 查看以下链接以获取更多信息
    https://developer.okta.com/blog/2018/03/01/develop-microservices-jhipster-oauth

    关于spring-security - Spring Cloud + Zuul + JWT 用于值(value)/引用 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38156213/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com