Spring Security OAuth 2.0.0.RC1 发布

发布 | Dave Syer | 2014年4月18日 | ...

Spring Security OAuth 2.0.0.RC1 现已从 Spring Repo 提供。这是 Spring 上 OAuth 服务器和客户端应用现代化和易用性方面的一大进步。

主要特性是支持@Configuration(仅限 OAuth2),如果您使用 Spring Boot 编写应用程序,则可以使用大约 25 行代码来提供令牌并保护 API 资源。

@Configuration
@EnableAutoConfiguration
@EnableResourceServer
@RestController
public class Application {

	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

	@RequestMapping("/")
	public String home() {
		return "Hello World";
	}

	@Configuration
	@EnableAuthorizationServer
	protected static class OAuth2Config extends AuthorizationServerConfigurerAdapter {

		@Autowired
		private AuthenticationManager authenticationManager;
		
		@Override
		public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
			endpoints.authenticationManager(authenticationManager);
		}
		
		@Override
		public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
		 	clients.inMemory()
		        .withClient("my-trusted-client")
		            .authorizedGrantTypes("password", "authorization_code", "refresh_token")
		            .authorities("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT")
		            .scopes("read", "write", "trust")
		            .resourceIds("oauth2-resource")
		            .secret("secret");
		}

	}

}

我们现在开箱即用地支持 JSON Web 令牌 (JWT),并且还有一个明确的批准域用于管理和持久化用户批准。这些功能大量借鉴了 CloudFoundry UAA 的工作。

授权服务器 API 进行了大量重构,以便轻松添加新的用例:例如,OpenID Connect (OIDC)、MAC 令牌或新的令牌撤销标准很容易添加。我知道至少有一个已经使用 Spring OAuth2 2.0 的 OIDC 实现。

有很多需要感谢他们帮助完成这项工作的人,但我们自己的 Rob Winch 应该得到很大的赞扬,因为他启动了@Configuration 的工作。在 2.0 的工作期间,我们将包括问题跟踪在内的一切都迁移到了 github,我认为结果是更多的社区参与,因此这次许多贡献者直接来自使用该软件的人,这很棒。感谢所有提供帮助的人!

获取 Spring 电子报

通过 Spring 电子报保持联系

订阅

领先一步

VMware 提供培训和认证,以快速提升您的进度。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部