有没有办法在同一个项目中同时使用 auth0-spring-security-api 和 java-jwt?

Posted

技术标签:

【中文标题】有没有办法在同一个项目中同时使用 auth0-spring-security-api 和 java-jwt?【英文标题】:Is there a way to use both auth0-spring-security-api and java-jwt in the same project? 【发布时间】:2019-11-01 23:45:30 【问题描述】:

我正在尝试在我的 Spring Boot 项目中使用 auth0 和 JWT。我已经导入了这些依赖项:

<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>auth0-spring-security-api</artifactId>
    <version>1.2.1</version>
</dependency>
<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>3.8.1</version>
</dependency>

我也使用JwtWebSecurityConfigurer来配置spring security。

如果我只使用auth0-spring-security-apiJwtWebSecurityConfigurer 可以正常工作并检查我的令牌。但我不能使用 java-jwt 工件中包含的 JWT 类。

如果我在 pom 中导入这两个依赖项,它会停止工作,并且当 Spring 安全检查我的令牌时,我会收到一个错误:

java.lang.NoSuchMethodError: com.auth0.jwt.interfaces.Verification.withIssuer(Ljava/lang/String;)Lcom/auth0/jwt/interfaces/Verification;

另外,我知道java-jwt 库是auth0-spring-security-api 的依赖项,我认为这与两个库存在某种冲突。有没有人有办法解决吗?谢谢

【问题讨论】:

【参考方案1】:

解决了!如果有人遇到这个问题,解决方案是: 检查你的 pom.xml 和 auth0-spring-security-api 的 pom。从 auth0-spring-security-api 导入的 java-jwt 依赖必须和你的 pom 中的 java-jwt 一样。

【讨论】:

以上是关于有没有办法在同一个项目中同时使用 auth0-spring-security-api 和 java-jwt?的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 中同时运行两个项目

如何同时在所有项目中搜索代码?

项目中同时拥有 GMS 和 HMS

VS2010 和 VS2012 项目可以同时在同一个源代码上吗

项目中遇到的超卖问题及解决办法(使用go做测试工具)

有没有办法强制所有列成为字符串,同时从.csv文件读取数据到DataTable?