spring - oauth 2.0、JWT、Spring 安全、微服务
问题描述
我需要对 Spring Security 的所有流程有所了解。
我已经在同一个 Spring Boot 应用程序中实现了 oauth2 授权服务器和资源服务器。我可以在其中生成 JWT 令牌。此应用程序中的示例 Rest api 是安全的,并且只能通过令牌访问。
我有另一个应该保护的 Spring Boot 应用程序?我该怎么做。我还需要阅读此服务中的令牌以了解用户的角色。
请澄清我如何实施第2步。
解决方案
您可以创建一个模块来实现您的 spring 安全配置。
在此模块中是使用注解进行@EnableWebSecurity
注解的类,您可以在其中定义打开的路由。我猜你已经为你的示例 rest API 提供了一个这样的类,在步骤 1 中提到了。
现在,必须保护的每一微秒都通过导入这个模块来使用它,例如作为 maven 依赖项。这样,它的 api 通过 spring security 自动得到保护。
您的身份验证服务提供一个 jwk 端点,每个微服务都可以通过公钥验证令牌。