领先一步
VMware 提供培训和认证,以快速提升您的进度。
了解更多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,我认为结果是更多的社区参与,因此这次许多贡献者直接来自使用该软件的人,这很棒。感谢所有提供帮助的人!