Spring安全JWT无需OAuth

10

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

1个回答

9
是的,可以在不使用标准的 OAuth 2.0 流程的情况下使用 JWT 功能。这里有一个很好的实现示例可以帮助您:链接。另外一个示例可以在 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>

1
我想问一下,在没有OAuth 2.0的情况下使用JWT是否是一个好的实践? - Peter S.
@PeterS。是的,完全没问题。OAuth是一个包含某些指南和规则的协议。可以使用JWT来实现OAuth。基本上,OAuth需要令牌来驱动该过程。而JWT(JSON Web Token)只是一个令牌。使用JWT的优点是,如果用户提供了由身份验证服务器签名的令牌,则用户不必每次都提供用户名和密码。只能有一个身份验证服务器,其他服务器将只识别签名(用于身份验证)和声明(用于授权)。 - Prajjwal Gupta
9
很遗憾,spring-security-jwt现已被废弃,建议开发者使用Spring Security OAuth2(Spring Security 5.2.x的一部分)。他们的文档没有提供在没有发布服务来分发签名密钥的情况下使用JWT的示例。 - Bampfer
这很令人难过。真的希望有一个示例,演示如何处理JWT而不涉及OAuth2。 - Nick Wills

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接