【问题标题】:How to handle authentication using akka-streams and akka-http for client apps如何使用 akka-streams 和 akka-http 为客户端应用程序处理身份验证
【发布时间】:2018-05-25 00:39:17
【问题描述】:

我正在使用 Akka Streams 和 Akka Http 编写一个应用程序,该应用程序需要连接到经过身份验证的 Web 服务(返回身份验证令牌),然后需要定期查询该服务并可能使用它执行其他操作以响应查询(下载文件等)。身份验证令牌在一定时间后超时,因此需要刷新。

我应该如何处理身份验证令牌?它需要传递给图中的不同流(我在任何地方查询服务),当身份验证令牌无效时,我需要请求一个新的。

一个想法是在流之外进行身份验证请求,然后在实现流时传入令牌,以便每个流在实现期间将令牌作为参数获取。然后,当令牌最终超时时,流将失败,我将其拆下并制作一个新的。我认为这可行,但它似乎有点笨拙,我想知道是否有一种方法可以完全与基于流的世界一起工作。

我的一个想法是,身份验证令牌可以与流经流的其他数据一起压缩,并传递给需要它的每个 Flow 元素。然后,如果令牌在某个时刻失败,则流以某种方式请求具有某种反馈流或恢复机制的新令牌。但我不知道这是否可能或如何实现。

是否有我没有想到的第三种方法,或者我在 Akka 流或 Akka HTTP 中错过了什么?

【问题讨论】:

    标签: akka akka-stream akka-http


    【解决方案1】:

    akka-http 是建立在akka-streams 之上的,因此您已经了解了这方面的内容。对于使用 akka-http 的用户会话管理,请查看 akka-http-session。您可能还想通读this excellent post

    你也可以看看我最近上传的一些示例代码,它没有使用akka-http-session - available here。希望其中一些材料有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 2019-04-11
      • 2015-11-03
      相关资源
      最近更新 更多