Spring Boot Secured Rest API

时间:2018-10-05 13:51:55

标签: java rest spring-boot jwt spring-security-oauth2

我目前试图理解安全微服务的概念,并想使用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

2 个答案:

答案 0 :(得分:1)

您可以通过多种方式进行操作。 使用spring security,您可以实现WebMVcConfigurer并配置如何保护资源。但这不是微服务的理想补充。 如果您打算保护API但不提供登录名,则可以选择JWT。应用程序或API提供了使用JWT令牌的功能,该应用程序或API会生成JWT令牌,该令牌可能包含令牌的用户详细信息,角色和有效性。并且在您的服务中,您可以使用这些JWT令牌对API进行身份验证和授权。

答案 1 :(得分:1)

您应该使用基于JWT的无状态安全性。 简单流程:登录后,AUTH微服务必须返回带有用户凭证的JWT令牌。 之后,对于每个请求,前端必须将该令牌发回。每次订购服务都应致电AUTH服务并验证令牌。在每个登录令牌之后,必须重新生成。 没有人记得微服务的状态。每次请求后,所有内容都必须重建。没有注销。