当前位置: 首页 > 知识库问答 >
问题:

Spring Boot的oauth2客户端

吴丁雷
2023-03-14

此问题基于此线程中的解决方案。我实现了最高答案,但我得到的结果好坏参半。

String stringObj = restTemplate.getForObject(http://server/rest/api/users?access_token=991949410990808314, String.class);

在代码中,我试图访问一个简单的GETendpoint,但是我得到一个401 Unauthorized,但是如果我将rest url标记复制到我的浏览器,它将返回预期的json对象。有人知道为什么吗?

共有2个答案

马沛
2023-03-14

我遇到的问题是

@Autowired
RestTemplate restTemplate;

Rest模板没有像我想象的那样被注入。当我刚刚做的时候,它起作用了:

RestTemplate restTemplate = new RestTemplate();

如果有人知道@Autowired为什么不工作,我很想听听他们的想法。谢了。

夏令秋
2023-03-14

这不是因为您需要将“授权”放在标题中,并放入rest调用吗?喜欢

HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
 类似资料:
  • 但是当我运行我的应用程序“http://localhost/client-sample/product/1”时,它会显示“http://localhost/client-sample/spring_security_login”。但是我希望用户应该重定向到oaut2服务器页面。

  • 我很难找到使用Spring实现OAuth2客户机的示例。 我使用Spring实现了OAuth2授权和资源服务器。我想从授权服务器获取访问令牌。我需要一个示例,如何从我的OAuth2服务器只使用客户端凭据获取访问令牌。不涉及用户,只是我的客户端应用程序使用客户端凭据获取访问令牌,然后使用它访问客户端资源。 我只找到了使用Java库示例,但我假设Spring的OAuth2框架中支持Java库。 如果可

  • 我有一个安全的微服务正在调用另一个安全的微服务。这两个服务在KeyCloak中都有服务帐户。我如何配置第一个服务在调用第二个服务时自动从keycloak获得访问令牌?这是一个简单的服务到服务通信。Quarkus Rest客户机是否有API来执行此操作?如果没有,我如何使用Vert.x rest客户端来实现这一点?

  • 顺便说一句,这些微服务只会通过中间件层互相交谈,我的意思是不需要用户凭据来允许授权(用户登录过程如Facebook)。 我在Internet上寻找了一些示例,展示了如何创建一个授权和资源服务器来管理这种通信。然而,我只是找到了一些例子,解释了如何使用用户凭据(三条腿)来实现它。 有没有人有在Spring Boot和Oauth2中如何做的样例?如果有可能提供更多关于所用范围的详细信息,令牌交换将不胜

  • 我正在使用Spring构建Web应用程序。我有多个Spring客户端应用程序和一个OAuth2授权和资源服务器。最终用户首先在客户端应用内进行身份验证,然后客户端应用从资源服务器请求一些资源(从授权服务器获得访问令牌后),处理数据并将其返回给用户。用户也可以更改资源服务器上的数据,但只能通过客户端应用。对于仅使用客户端凭证的资源获取,在这种情况下资源所有者是可信客户端。 在资源服务器上,仅存储客户

  • 错误:“禁止”消息:“在请求参数'_CSRF'或标头'x-xsrf-token'上发现无效的CSRF令牌'null'。 我也分享我的代码。 1)ReactJs代码

  • 我正在开发一个angularjs网络应用。 要访问服务器端api,我需要添加一个id_token头,并通过使用接收id_token。 问题的关键是——id_token有一个过期日期。在访问服务器应用编程接口之前,我需要确保id_token还没有过期,但是如果是,显而易见的选择是刷新它。 有没有办法刷新id_令牌? 我知道我可以将访问类型更改为脱机,并接收刷新令牌,但请求脱机访问似乎很奇怪,而在我的

  • 我正试图了解OAuth2和SpringSecurityOAuth,尤其是OAuth提供者服务。我正在尝试实现以下内容: OAuth提供商 资源服务器(应使用OAuth提供程序(1)保护的RESTful Web服务) Web客户端(使用Spring Security性保护的Web客户端应用程序,但应使用OAuth提供程序(1)对用户进行身份验证 本机移动客户端(Android和iOS)也应该使用OA