不带OAuth的Spring安全JWT

问题描述 投票:0回答:2

最近我开始学习如何使用oauth 2.0 + jwt配置spring boot,我有一个问题:是否可以使用spring boot security + jwt避免oauth 2.0?

spring-boot spring-security oauth-2.0 jwt spring-security-oauth2
2个回答
9
投票

是的,可以在不使用标准化

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>

0
投票

是的,我可能会添加此响应,因为已接受的请求中提到的 spring-security-jwt 现已弃用:

取决于认证方式,一般我们使用用户名/密码:

首先:我们需要扩展 UsernamePasswordAuthenticationFilter,它是 AbstractAuthenticationProcessingFilter 的子类型,请参阅文档

这里我们必须重写 AbstractAuthenticationProcessingFilter.successfulAuthentication() 方法,你需要这个库用于jwt算法和处理,并将jwt添加到响应头中

第二:我们需要重写 OncePerRequestFilter 并处理令牌并借助 doFilterInternal 方法对用户进行身份验证

© www.soinside.com 2019 - 2024. All rights reserved.