我目前试图理解安全微服务的概念,并想使用Spring Boot和Spring Security。
前端:通过oauth2提供程序登录+令牌检索。
REST-API:标头中带有令牌的请求+令牌验证+返回myListOfinterestingThings()
我认为Security 5库是实现此方法的好工具。 这是我尝试的示例,但我不知道如何确保我的REST-API不会重定向到登录页面。
我是否必须依靠必须实施的自定义过滤器?我认为Spring Boot和Security 5的“魔术” 足够强大:D
https://github.com/oktadeveloper/okta-spring-security-5-example
答案 0 :(得分:1)
您可以通过多种方式进行操作。 使用spring security,您可以实现WebMVcConfigurer并配置如何保护资源。但这不是微服务的理想补充。 如果您打算保护API但不提供登录名,则可以选择JWT。应用程序或API提供了使用JWT令牌的功能,该应用程序或API会生成JWT令牌,该令牌可能包含令牌的用户详细信息,角色和有效性。并且在您的服务中,您可以使用这些JWT令牌对API进行身份验证和授权。
答案 1 :(得分:1)
您应该使用基于JWT的无状态安全性。 简单流程:登录后,AUTH微服务必须返回带有用户凭证的JWT令牌。 之后,对于每个请求,前端必须将该令牌发回。每次订购服务都应致电AUTH服务并验证令牌。在每个登录令牌之后,必须重新生成。 没有人记得微服务的状态。每次请求后,所有内容都必须重建。没有注销。