使用我们标准的基于属性的配置,我们可以进一步设置我们期望令牌签名的算法。
当授权服务器使用 RS256 以外的算法对令牌进行签名时,通常需要这样做。
让我们继续通过添加 jws-algorithm 属性来更改配置:
spring:
security:
oauth2:
resourceserver:
jwt:
// ...
jws-algorithm: ES256
我们还可以将我们的资源服务器配置为信任多种算法进行签名验证:
public class ResourceSecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${spring.security.oauth2.resourceserver.jwt.jwk-set-uri}")
private String jwkSetUri;
@Bean
JwtDecoder jwtDecoder() {
return NimbusJwtDecoder.withJwkSetUri(this.jwkSetUri)
.jwsAlgorithm(SignatureAlgorithm.RS512)
.jwsAlgorithm(SignatureAlgorithm.RS256)
.build();
}
}
参考: