【问题标题】:Using Webhook as trigger for API requests - Aries Cloud Agent and Android使用 Webhook 作为 API 请求的触发器 - Aries Cloud Agent 和 Android
【发布时间】:2021-10-08 15:18:35
【问题描述】:

我的想法是使用可验证的凭据登录我的 Kotlin Android 应用。为此,我使用 Aries Cloud Agent (aca-py)。对于与代理的通信,有一个 API。该代理可以创建钱包(l​​issi、trinsic、esatus 等)和代理之间的连接,然后发送证明请求。来自证明请求的数据(可验证的凭据,例如名字、姓氏、电子邮件)用于登录。

每个步骤都需要特定的 API 请求。可以将每个步骤实现为单独的按钮。在这种情况下,用户应首先按下按钮创建可以从钱包中扫描的二维码,从而建立连接。应按下第二个按钮后发送证明请求。一旦提供凭据,应该按下第三个按钮,以便应用程序通过 GET 请求从代理获取该信息。不过我的想法是自动化整个过程。

这可以使用代理 webhook 来完成,一旦创建了新连接,它可以通知应用程序,并且可以用作发送第二个证明请求的触发器。一旦发送证明请求,也会发生同样的情况。但是,一旦有了新的 webhook,我不确定如何在我的应用中实现推送通知。

我读到它可以使用 Firebase 和 AWS Amplify 完成。在这两种情况下,我都认为应该为此付出代价,老实说,我对他们的服务不太熟悉。还有其他选择吗?有谁知道一些免费的替代品?目前我的想法只是像原型一样构建,因此不需要生产服务。提前致谢!

【问题讨论】:

  • 为什么不用sqs?如果它处于原型阶段?很确定它在免费层上可用
  • 答案有帮助吗?需要更多信息或需要详细说明某个主题?告诉我。
  • 谢谢@MichaelWiles。我想我会使用那个选项! :)

标签: android amazon-web-services firebase webhooks aries


【解决方案1】:

网络钩子基本上是一个面向外部的 URL,可以接收有效负载等。您可以使用 Cloud FunctionsonRequest 创建这些端点。这些使用基于 express 的请求/响应回调

例如: 从客户端, 在实时数据库中启动一个侦听器到用户 ID,然后: 创建一个 dynamic linkcloud function URL,可以呈现为 QR 码 A B C,然后从那里:一系列 URL以及每一步的动态链接。在此过程进行时,用户的客户端可以从 Firebase 获取实时更新,从而允许您使用当前的过程和说明来更新用户。

主题是将进程与one-time disposable token 关联,以便您的webhook 可以知道该进程可以关注哪个用户。您可以使用用户的 ID,但如果暴露了任何 webhook 端点,则可以预测和欺骗。

实时数据库:

processing: // location for all clients processing can listen to for updates
 +userId: { // userID so that the location is predictable should the client disconnect
     +--"State": "state1",
     +--"URL":"https://url.for.qr/code?=disposable_token"
  }
status: // location for all webhook processing and tracking of stats
 +token: { // userID so that the outcome is predictable should the client disconnect
     +--"User": "userID",
     +--"stage":"authenticating"
     +--"createdAt":"Date.now()"// track when the process started, ensure that requests can expire after X minutes/hours
  }

对于客户端,按钮按下可以完全通过实时数据库监听器自动完成

【讨论】:

  • 感谢您的详细解释。 :) 只是另一个简单的问题。如果我想实施您的解决方案,是否需要 Blaze 计划,或者可以使用免费帐户来完成?
  • 任何 Firebase 云功能都需要 Blaze 计划,免费套餐仍适用于使用量(每月 200 万次调用),但如果您在 heroku 或其他服务上运行 admin-sdk,则不受此限制作为专用 VM、计算云(F1 免费层)或 AWS
  • 将 Firebase 添加到自定义/专用服务器:firebase.google.com/docs/admin/setup
猜你喜欢
  • 1970-01-01
  • 2018-02-21
  • 2018-01-26
  • 2021-12-30
  • 1970-01-01
  • 2022-08-19
  • 2020-06-10
  • 2023-03-08
  • 2018-02-17
相关资源
最近更新 更多