【问题标题】:oauth 2.0, JWT, Spring security, Micro servicesoauth 2.0、JWT、Spring 安全、微服务
【发布时间】:2020-08-17 00:06:35
【问题描述】:

我需要对 Spring Security 的所有流程有所了解。

  1. 我已经在同一个 Spring Boot 应用程序中实现了 oauth2 授权服务器和资源服务器。我可以在其中生成 JWT 令牌。此应用程序中的示例 Rest api 是安全的,并且只能通过令牌访问。

  2. 我还有另一个 Spring Boot 应用程序需要保护?我该怎么做。我还需要阅读此服务中的令牌以了解用户的角色。

请说明如何实施第二步。

【问题讨论】:

  • 我的建议是将授权服务作为公共服务,以便所有其他需要 JWT 的微服务都可以使用它。您的客户端可以直接调用此授权服务器来获取 JWT,您的服务 1 和服务 2 可以从授权服务器验证 jwt。

标签: spring spring-security oauth-2.0 jwt microservices


【解决方案1】:

您可以创建一个模块来实现您的 spring 安全配置。

在这个模块中是使用@EnableWebSecurity 注释注释的类,您可以在其中定义开放路由。我猜你已经为你的示例 rest API 提供了一个这样的类,在步骤 1 中提到了。

现在,必须保护的每一微秒都通过导入这个模块来使用它,例如作为 maven 依赖项。这样,它的 api 就会通过 spring security 自动得到保护。

您的身份验证服务提供一个 jwk 端点,每个微服务都可以通过公钥验证令牌。

【讨论】:

    猜你喜欢
    • 2016-07-10
    • 1970-01-01
    • 2020-05-27
    • 2016-11-13
    • 2019-03-18
    • 2019-01-07
    • 2019-11-05
    • 2020-07-06
    • 2018-03-25
    相关资源
    最近更新 更多