在出站HTTP调用之间保持cookie

时间:2014-10-02 21:05:57

标签: mule

我有一个Mule应用程序,它侦听来自一个应用程序的请求,然后通过多次调用JSON API进行身份验证,然后检索多个数据,进行一些转换并返回结果来响应。 API需要HTTP基本身份验证。当帐户进行身份验证时,提供API的应用程序1)返回会话/身份验证cookie,该cookie可用于在后续呼叫中标识当前用户,以及2)更新数据库以记录当前用户的上次身份验证时间戳。 API还会调用以检查会话/身份验证cookie是否仍然有效。

我目前有一个调用身份验证方法的流程,然后继续使用会话/身份验证cookie进行一系列调用。

问题是当Mule应用程序一次获得多个请求时,提供API死锁的应用程序尝试更新身份验证时间戳,因为流将针对每个请求进行一次身份验证。有没有办法(可能使用对象存储)存储会话/身份验证cookie以供后续请求到Mule流使用?基本上,我希望流程暂停所有其他请求到同一个流,检查是否存在存储的cookie,检查它们是否仍然有效,进行身份验证(再次或第一次)以获得新的会话/身份验证如果需要,请存储新cookie,然后继续。

这是否是一种合理的方式,甚至可能吗?如果没有,我想你可以得到我想要完成的事情的要点。还有什么更好的方法?谢谢!

编辑:我做了一些实验,我绝对可以使用对象存储来保存cookie。我现在坚持的部分是,如果在任何近同步请求等待时没有有效的cookie,我将获得重新认证的唯一第一个请求。我正在研究虚拟机队列和骡子请求者,但我不确定这是否有效。我完成后,我将发布完整功能测试的代码。

0 个答案:

没有答案