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

夸库/微轮廓 Rest 客户端会话 Cookie

万乐逸
2023-03-14

我使用Quarkus Rest客户端与一个外部服务通信,该服务使用两个cookies来验证所有请求。这两个cookies是从身份验证API和每个后续API调用中返回的。有没有办法自动处理这些cookies?目前,我从身份验证API的响应对象获取cookies,并使用@CookieParam在每个请求中手动发送它们。

共有1个答案

云欣嘉
2023-03-14

我没试过,但是你不能做这样的事情吗:

 //pseudo code !!!
@RestClient
public interface UsersClient {

  @POST
  String backendCall(@CookieParam("Token1") token1, @CookieParam("Token2") String token2)

  @POST
  Map<String,String> authenticate(String param)

   default String makeCall(String param) {
       var tokens = authenticate(param);
       return backendCall(tokens.get(0), tokens.get(1));
   }
}

从您的服务中注入这个rest客户端并调用makeCall(…)方法。这应该会根据您的服务器对您进行身份验证,并使用响应中的令牌并将它们作为cookie发送到后端调用。

代码中的任何错误表示歉意:我是用平板电脑写的。但我希望这个想法是清楚的。

还可以查看Microprofile Rest客户端留档以获取更多信息:

https://download.eclipse.org/microprofile/microprofile-rest-client-2.0/microprofile-rest-client-spec-2.0.html#_sample_definitions

 类似资料:
  • 我正在迁移Thorntail(2.4.0.final)到Quarkus(1.11.1.final)。在测试阶段,我们注意到分布式跟踪不起作用。跟踪工作(单个组件跟踪),但是uber-trace-id没有与rest请求头一起传递,因此下一个微服务(rest请求的接收者)将在没有span信息的情况下从零生成跟踪。 在Thorntail中,它只是通过ClientBuilder上的配置来完成的 比较两者,

  • 我正在尝试创建RESTful web服务,但无法使删除生效,我不确定问题在哪里。我认为问题在客户端项目中,但也可能在服务器项目的资源类中。 我有一个使用这种方法的学生道课,我不认为这是一个问题,因为它适用于其他项目。 我有一个StudentResource类,它是我从包含这段代码的模式中创建的RESTful资源 然后,我创建了一个java项目,并使用此方法创建了名为OneStudent的RESTf

  • iam使用openam与Tomcat7一起使用,下面的行总是产生异常SSOTokenManager manager=SSOTokenManager.getInstance();SSOToken SSOToken=manager.createssotoken(请求); 无效的会话id AMSSOProvider:09/18/2012 01:18:01:882 PM EEST:Thread[http-

  • 主要内容:1. outline-style,2. outline-width,3. outline-color,4. outline,5. outline-offset轮廓(outline)是绘制于元素周围的一条线,位于边框的外围(紧贴着边框),主要用来突出显示某个元素,如下图所示: 图:轮廓(outline) 轮廓和边框看起来非常相似,但它们之间也并非没有区别,例如: 元素上下左右四个方向上边框的样式、宽度、颜色可以单独设置,而轮廓在元素四个方向的宽度、样式、颜色都是相同的,不能单独设置; 边

  • 我有2个URL,其中1个特定于Dev,另一个特定于Prod。我也在使用Spring profiling,其中我有一个单独的文件用于Dev和Prod application-Dev。性能和应用-prod。属性和我的应用。对于Dev env,属性文件如下所示 spring.profiles.active=dev 现在在我的java代码中,我想有一个属性,它将根据我使用的Spring配置文件绑定到适当的

  • 我读了很多关于JWT的书,以及如何通过JWT创建“无状态”会话。我理解的要点是因为签名 我不明白的是,如果您的用户需要注销,或者您需要在过期之前使会话无效,会发生什么情况? 从技术上讲,您可以指示浏览器从客户端删除它,但您不能确定这是否真的发生了。令牌本身在技术上仍然有效,如果没有遵循您的删除说明,它仍然可以使用。 这种理解正确吗?如果是这样,这难道不是客户端会话管理的一个巨大错误吗?除了让服务器