Spring RestTemplate 忽略证书访问https的OAuth2 认证站点

ゝ一纸荒年。 2024-03-30 17:17 115阅读 0赞

在 Spring Security OAuth 访问OAuth2.0 的https站点 这一篇中介绍了如何使用Spring Security OAuth 访问客户端认证模式 Client Rredentials 的服务。不过Spring Security OAuth 官方已经停止维护了, 也就是不建议使用了, 可以使用可以使用Spring Security 或者 Spring Authorization Server替换。 如果不想使用这些现成的库调用OAuth2.0 的服务, 直接使用Spring 的RestTemplate该怎么访问OAuth2.0 的服务呢? 了解了这个, 也就大概了解了Spring Security OAuth 等是如何实现的了。

本篇介绍使用Spring 的 RestTemplate 如何访问 客户端认证模式 Client Rredentials 的OAuth 2.0 认证的服务。

实现原理

客户端认证模式的基本步骤是:

  1. 使用 clientId 和 clientSecret 从Token url 中获取Token
  2. 使用Token调用服务

本篇示例是访问https 的站点, 方便起见, 使用信任所有证书的方式进行访问。

获取Token

  1. public void fetchToken() throws Exception {
  2. //1. 构造信任所有证书的请求工厂
  3. TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;
  4. SSLContext sslContext = org.apache.ht

发表评论

表情:
评论列表 (有 0 条评论,115人围观)

还没有评论,来说两句吧...

相关阅读

    相关 curl 忽略证书访问 https

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为