Spring Security 5.1.0.RC1 发布

发布 | Josh Cummings | 2018年8月21日 | ...

我代表社区很高兴地宣布 Spring Security 5.1.0.RC1 的发布。此版本修复了50多个问题

与往常一样,我们期待收到您的反馈!您可以在下面找到亮点

目录

Servlet

OAuth2 资源服务器

Open ID 提供程序配置

资源服务器现在可以通过任何支持Open Id 提供程序配置的发行者端点进行配置

@Bean
JwtDecoder jwtDecoder() {
    return JwtDecoders.createDefaultFromIssuer("https://issuer-endpoint");
}

声明验证

用户可以通过公开 JwtDecoder bean 来添加自己的验证规则以应用于 Jwt

@Bean
JwtDecoder jwtDecoder() {
    String jwkSetUri = "https://issuer-endpoint/.well-known/jwks.json";
    NimbusJwtDecoderJwkSupport jwtDecoder =
      new NimbusJwkDecoderJwkSupport(jwkSetUri);
    OAuth2TokenValidator<Jwt> validator =
      new DelegatingOAuth2TokenValidator(
        JwtValidators.createDefault(),
        new MyCustomValidator());
    jwtDecoder.setJwtValidator(validator);
    return jwtDecoder;
}

GrantedAuthority 提取

用户可以自定义如何从 Jwt 中派生 GrantedAuthority

@Bean
JwtDecoder jwtDecoder() {
    String jwkSetUri = "https://issuer-endpoint/.well-known/jwks.json";
    NimbusJwtDecoderJwkSupport jwtDecoder =
      new NimbusJwkDecoderJwkSupport(jwkSetUri);
    JwtAuthenticationConverter jwtAuthenticationConverter =
      new JwtAuthenticationConverter() {
        protected Collection<GrantedAuthority> extractAuthorities(Jwt jwt) {
          return Arrays.asList(new SimpleGrantedAuthority("app:read"));
        }
    };
    jwtDecoder.setJwtAuthenticationConverter(jwtAuthenticationConverter);
    return jwtDecoder;
}

OAuth2 客户端凭据授权

已添加对客户端凭据授权类型的基本支持。

Feature-Policy 安全头部

已添加对Feature-Policy的基本支持

http
    .headers()
        .featurePolicy("geolocation 'none'");

WebFlux

OAuth2 资源服务器

已添加对基于 Reactive 的 OAuth2 资源服务器的基本支持。请参见oauth2resourceserver-webflux

OAuth2 登录/客户端

授权码授权

已添加对基于 Reactive 的授权码授权流程的基本支持。请参见authcodegrant-webflux

授权请求解析器

已添加对自定义发送到授权服务器的认证请求的支持。在例如授权服务器需要发送自定义参数时非常方便。在多租户场景中也很有用,在这些场景中,请求的某些元素(如主机名)可能会更改向授权服务器发送请求的方式。

授权客户端存储库

已添加对自定义请求之间授权客户端持久性的支持

http
    .oauth2()
        .client()
            .authorizedClientRepository(new MyCookieBasedClientRepository());

加固您的应用程序

安全头信息

已向 WebFlux 添加对以下安全头信息的支持

  • 内容安全策略 (Content-Security-Policy)

  • Referrer 策略 (Referrer-Policy)

  • 功能策略 (Feature-Policy)

CORS

已向 Webflux 添加对 CORS 的支持。

依赖项更新

我们已将依赖项更新到最新版本,以确保传递依赖项是最新的。

项目站点 | 参考 | 帮助

获取 Spring 时事通讯

关注 Spring 时事通讯

订阅

领先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部