【问题标题】:Sending Cookie using Http connector/custom logic app connector使用 Http 连接器/自定义逻辑应用连接器发送 Cookie
【发布时间】:2020-09-24 03:07:24
【问题描述】:

我正在尝试从 Azure Logic 应用调用基于会话的 Web 服务,该服务需要将身份验证请求中的会话 ID 作为 cookie 发送给实际请求。我能够成功验证并接收会话 ID,但是当我尝试在下一步中将其作为 cookie 发送时,它不成功。尝试了以下选项并得到了相应的响应:

  1. 使用 HTTP 连接器 -> 给了我“无法解析的主机名”
  2. 使用自定义逻辑应用程序连接器,检查本地网关和“http”选项 -> SOAP 错误,查看目标日志后,我们可以看到 Cookie 为空。我尝试在标头和参数中发送“Cookie”,但没有成功。
  3. 使用自定义逻辑应用连接器,检查本地网关和“https”选项 -> 认证错误,我知道 https 未配置,因此无法工作。

我从 SOAP UI 尝试过,当我在请求的标头中发送 cookie 时它可以工作。或者,如果我选中 SOAP UI 中的“保持相同会话”框。但使用 Logic App 失败。 您能帮我了解如何从 Logic App 发送 cookie。虽然我在我的应用程序中设置它,但它在哪里被遗漏了。

【问题讨论】:

  • @Joey Cai,如下所述,我们正在尝试微软提供的选项。但是功能应用程序也不能达到目的,因此我们正在尝试混合连接。更像是创建一个中间 Webapp 并从那里调用。希望这会有所帮助。

标签: azure web-services session-cookies azure-logic-apps setcookie


【解决方案1】:

Add new parameter 下拉菜单允许您启用一个显示 Cookie 的复选框,使您可以输入 HTTP cookie(如果您愿意,可以从动态内容中输入)。您不能直接在下拉列表中输入值,因此请在选中复选框后将其关闭,然后在 Authentication 字段下方看到一个神奇的 Cookie 字段。

更多信息可在此处找到:How to call an API with cookie authentication from a Logic App

【讨论】:

  • 感谢 Joey 的友好回复,但是正如我所提到的,我在使用 http 连接器时遇到了“无法解析的主机名”错误,并且基础架构团队已确认没有连接问题。
  • 可以参考这个feedback
【解决方案2】:

答案如下:您只能将 HTTP 连接器用于已发布的服务。如果您尝试调用内部服务,下面是 Microsoft 团队的响应。简而言之 - HTTP 连接器不使用网关,因此您无法建立连接并且自定义连接器不支持 Cookie。我会从下面选择选项4。希望这会有所帮助:

  1. HTTP 操作不支持本地数据网关,因此无法解析主机名或 ip,因为 HTTP 操作始终与公共网络通信。
  2. 如果您可以使用自定义连接器连接到本地数据网关,您应该不会遇到未解决的主机名问题。但是,自定义连接器不支持 Cookie 身份验证,这就是您无法通过的原因。
  3. 一种解决方法是使用应用程序网关来反向代理服务并将您的本地服务器发布到公众。它的作用类似于 VPN,您可以在逻辑应用中使用 HTTP 操作来建立连接。
  4. 另一种解决方法是尝试使用 Function App 使用 Cookie 发出 HTTP 请求

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 2020-03-20
    相关资源
    最近更新 更多