【发布时间】:2018-05-25 00:39:17
【问题描述】:
我正在使用 Akka Streams 和 Akka Http 编写一个应用程序,该应用程序需要连接到经过身份验证的 Web 服务(返回身份验证令牌),然后需要定期查询该服务并可能使用它执行其他操作以响应查询(下载文件等)。身份验证令牌在一定时间后超时,因此需要刷新。
我应该如何处理身份验证令牌?它需要传递给图中的不同流(我在任何地方查询服务),当身份验证令牌无效时,我需要请求一个新的。
一个想法是在流之外进行身份验证请求,然后在实现流时传入令牌,以便每个流在实现期间将令牌作为参数获取。然后,当令牌最终超时时,流将失败,我将其拆下并制作一个新的。我认为这可行,但它似乎有点笨拙,我想知道是否有一种方法可以完全与基于流的世界一起工作。
我的一个想法是,身份验证令牌可以与流经流的其他数据一起压缩,并传递给需要它的每个 Flow 元素。然后,如果令牌在某个时刻失败,则流以某种方式请求具有某种反馈流或恢复机制的新令牌。但我不知道这是否可能或如何实现。
是否有我没有想到的第三种方法,或者我在 Akka 流或 Akka HTTP 中错过了什么?
【问题讨论】:
标签: akka akka-stream akka-http