最近我开始学习如何使用oauth 2.0 + jwt配置spring boot,我有一个问题:是否可以使用spring boot security + jwt避免oauth 2.0?
是的,可以在不使用标准化
JWT
流程的情况下使用 OAuth 2.0
功能。 Here 是一个很好的示例实现,可以帮助您。另一个例子可以在AUTH0找到。例如,您可以使用此依赖项:
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-jwt -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<version>1.0.9.RELEASE</version>
</dependency>
是的,我可能会添加此响应,因为已接受的请求中提到的 spring-security-jwt 现已弃用:
取决于认证方式,一般我们使用用户名/密码:
首先:我们需要扩展 UsernamePasswordAuthenticationFilter,它是 AbstractAuthenticationProcessingFilter 的子类型,请参阅文档
这里我们必须重写 AbstractAuthenticationProcessingFilter.successfulAuthentication() 方法,你需要这个库用于jwt算法和处理,并将jwt添加到响应头中
第二:我们需要重写 OncePerRequestFilter 并处理令牌并借助 doFilterInternal 方法对用户进行身份验证