问题标签 [oauth2resttemplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
155 浏览

java - 得到错误org.springframework.http.converter.HttpMessageNotReadableException:无法构造java.time.LocalDate的实例

我正在尝试使用 oAuth2RestTemplate.getForEntity 进行 Rest Get 调用以服务并期望 json 回复被映射到我的模型类之一,但由于映射类使用本地日期(Java 8 概念),我当时收到以下错误杀菌:

在 [来源:sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@96ce9eb2;线:1,

这是我的代码片段:

我知道发生这种情况是因为我的模型类将出生日期映射到 java 8 中引入的本地日期,而我的 oAuth2RestTemplate 不支持它。使用下面的代码解决了这个问题

但在这种情况下,我需要以字符串形式获取我的服务响应,然后我需要对其进行转换。我需要 oAuth2RestTemplate 的解决方案。有人可以帮忙吗?

0 投票
1 回答
37 浏览

java - 使用 Spring Oauth2RestTemplate 时如何切换到服务用户

我正在尝试使用 Spring 的 Oauth2RestTemplate,但我们需要它在进行 Rest 调用时使用一些超级用户(我们已经定义了用户),而不是通过最初进行服务调用的用户。

所以情况如下:

userA打电话给endpointA. 自然,他有权访问此端点(基于他在 Keycloak 中分配的角色中允许的操作)。 endpointA然后将使用 OAuth2RestTemplate 对另一个服务进行 Rest 调用,endpointB. 但是,userA没有访问该端点的权限。这个调用应该作为一个service-user,在我们的 keycloak 中,他本质上是一个可以做任何事情的超级用户。问题是,OAuth2RestTemplate 保留了进行原始调用的同一用户userA( )。

有没有办法使用访问权限受限的 访问端点,并使用有权访问所有内容userA的 OAuth2RestTemplate 触发 REST 调用?service-user注意:该 OAuth2 信息service-user仍应被检索,就像它仍然一样userA(在 keycloak 中查找)。本质上,这只是我们在进行 REST 调用之前更改用户名(嗯......我认为这就是它所需要的)。

注意:我找到了一种暂时通过这个的方法。那就是在进行 REST 调用之前创建一个新线程。这是因为 Spring 不再有权访问该新线程中的用户安全上下文,从而强制它使用创建 OAuth2RestTemplate 时提供的安全详细信息检索新令牌。这表明另一种解决方案(实际上是首选)是强制 OAuth2RestTemplate 在命中时始终检索新令牌(使用 ResourceDetails,而不是用户令牌的“刷新”),而不是使用存储在 SecurityContextHolder 中的令牌请求的开始。

0 投票
0 回答
92 浏览

spring-boot - 访问受 OAuth2 和 mTLS 保护的 HTTPS 端点

我们有一个用例,我们需要访问受 OAuth2 + mTLS 保护的 HTTPS 端点。此端点在 APIGEE 中发布。当我尝试访问此端点时,总是收到错误消息“400 Bad Request,No required SSL certificate was sent”。任何人请帮助我?

请找到我遵循的以下步骤。

  1. 获得客户端证书+私钥。这也是由服务器授权的。即,能够在邮递员中使用客户端证书和私钥获得有效响应。
  2. 但是当我尝试通过 OAuth2RestTemplate 访问时,总是出现上述错误。

这是示例代码:

0 投票
0 回答
31 浏览

spring-boot - 如何在 Spring Boot 中用 WebClient 替换密码授予类型实现的 OAuth2RestTempate

我有以下 OAuth2RestTempate 配置用于密码授予类型实现,我正在实例化 bean:

由于 OAuth2RestTemplate 已被弃用,我试图用 Spring Boot WebClient 替换它以执行相同的操作,但似乎没有一种简单的方法可以做到这一点。任何线索表示赞赏。

0 投票
0 回答
30 浏览

java - oauth2RestTemplate Java

我是 Java 新手,我们有一个使用 oauth2RestTemplate 使用 SSO 实现的应用程序,由于某种原因,SSO 在非常罕见的情况下不会成功,我们无法追踪,SSO 系统由不同的团队管理。

这是我们配置的代码

我的问题是有什么方法可以在 SSO 不成功时重新尝试请求,或者在 SSO 失败时重定向到给定的 URL,现在 SSO 正在重定向到它自己的错误页面,该页面没有向用户提供任何信息

任何建议将不胜感激。