内容简介:Spring Security 5.1.0.M2 已发布,该版本关闭了超过 100 个 issue。下面说说值得关注的更新: OAuth2 OAuth2 Resource Server 添加了对 OAuth2 资源服务器的基本支持。见 oauth2resourceserver Authorization ...
Spring Security 5.1.0.M2 已发布,该版本关闭了超过 100 个 issue。下面说说值得关注的更新:
OAuth2
OAuth2 Resource Server
添加了对 OAuth2 资源服务器的基本支持。见 oauth2resourceserver
Authorization Code Flow
用户现在可以使用OAuth 2.0 Authorization Code grant 获取访问令牌(access token)。请查看 authcodegrant 示例。
支持 WebClient 和 OAuth2
现在内置了对 OAuth2 和 WebClient 的支持,该支持将允许:
将访问令牌添加到请求中
访问令牌过期时自动刷新
解析要使用的访问令牌
例如,在 servlet 环境中,你可以配置一个如下所示的 Bean:
@Bean WebClient webClient(OAuth2AuthorizedClientRepository repository) { ServletOAuth2AuthorizedClientExchangeFilterFunction filter = new ServletOAuth2AuthorizedClientExchangeFilterFunction(repository); return WebClient.builder() .filter(new OAuth2AuthorizedClientExchangeFilterFunction()) .apply(filter.oauth2Configuration()) .build(); }
现在,你可以通过多种不同方式添加 OAuth 令牌。如果需要,可以使用 Spring MVC 支持来解析 OAuth2AuthorizedClient。如果授权服务器返回已刷新的令牌并且访问令牌即将过期,则 Spring Security 将透明地更新访问令牌并提交已更新的访问令牌。
@GetMapping("/users") Mono<String> users(@RegisteredOAuth2AuthorizedClient("client-id") OAuth2AuthorizedClient authorizedClient) { return this.webClient.get() .uri("https://api.example.com/user") .attributes(oauth2AuthorizedClient(authorizedClient)) .retrieve() .bodyToMono(String.class); }
你可以通过 WebClient 来解析访问令牌,例如
Mono<String> users() { return this.webClient.get() .uri("https://api.example.com/user") .attributes(clientRegistrationId("client-id")) .retrieve() .bodyToMono(String.class); }
如果使用 OAuth2 Log In 或 OIDC 进行身份验证,则可以应用默认的访问令牌而无需用户交互。
Mono<String> users() { // if Authenticated with OIDC // OAuth2 Log In use the access token associated to log in return this.webClient.get() .uri("https://api.example.com/user") .retrieve() .bodyToMono(String.class); }
WebFlux OAuth2 Log In Supports OIDC
WebFlux 应用程序现在可以使用 OAuth2 和 OIDC 进行身份验证。有关详细示例,请查看 oauth2login-webflux。
配置改进
改进默认登录页面,更现代化
默认登录页面实用了 HTML5,变得更现代化,看起来更具视觉吸引力。
默认注销页面
由于添加了 CSRF 注销保护,因此默认应用程序无法注销。现在,如果正在使用默认登录页面(例如没有配置登录页面),那么还会有一个默认的注销页面,它显示了一个注销表单。
简化 RequestCache 配置
用户现在可以配置默认的 RequestCache,用于将其暴露给@Bean。
本次更新内容较多,详情请查看发布说明。
源码下载 >>> https://github.com/spring-projects/spring-security/releases/tag/5.1.0.M2
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- One 框架 2.0.13 发布
- Total.js 框架 v2.6.0 发布,Node.js 的 MVC 框架
- Total.js 框架 v2.6.0 发布,Node.js 的 MVC 框架
- 快嘉框架 v1.6 更新发布,J2EE 开发框架实例
- 快嘉框架 v2.0 更新发布,J2EE 开发框架实例
- 快嘉框架 v2.0 更新发布,J2EE 开发框架实例
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Series 60 应用程序开发
巴克 / 人民邮电出版社 / 2005-7 / 75.0
Series 60智能手机开发平台正掀起新一轮的移动服务浪潮。超过60%的手机生产商获得了Series 60平台的授权。Series 60移动应用开发平台拥有最大的用户群,从而成为智能手机市场的代表。诺基亚与EMCC软件公司合作,为C++程序员和软件设计师编撰了这本Series 60开发的权威指南。本书由诺基亚资深专家进行了全面审阅。本书内容涉及了开发过程的各个阶段,从设计、编程、测试、调试到部署......一起来看看 《Series 60 应用程序开发》 这本书的介绍吧!