在 DABL 中,您创建的各方映射到您的 DABL 用户帐户。第一次加入或创建账本时,会自动以您的名义创建一个派对,您可以选择添加更多。但是,您通过控制台添加的每个附加方仍会映射到您的特定 DABL 帐户。
与账本的交互由参与方 JWT 代币授权。登录按钮和链接本质上是一个快捷方式,允许用户登录到他们的 DABL 帐户,同时自动将该用户的默认参与方的参与方 ID/JWT 提供回已部署的 Web 应用程序实例。Web 应用程序应存储生成的令牌并在与 API 通信时使用它。
如果您创建额外的 Alice 和 Bob 方是为了从不同方的角度演示或测试您的应用程序,我会在 Login 组件中添加一些额外的表单输入,以允许直接输入方 ID 和 JWT。这些可以从控制台的 Ledger Settings 页面复制。您的 React 应用程序将简单地读取 ID/JWT 输入,将它们存储在状态中,并在将来发出 API 请求时使用它们。这样您就不需要parties.json
每天不断地重新下载/替换文件。
DABL Chat 的登录组件是一个很好的示例应用程序,您可以查看它,它处理按钮和此 ID/JWT 输入方法。如果您想了解它是如何工作的,您可以将它的副本部署到一个新项目中,或者查看源代码以获得更好的理解。由于您还create-daml-app
用作模板,因此您需要进行一些修改以添加这些输入并将它们连接到 API 调用中。
请注意,如果 Alice 和 Bob 是系统的真实生产用户,那么推荐的方法是让他们使用 Login with DABL 按钮,以便他们使用个人 DABL 帐户加入。在这种情况下,parties.json
您的 Ledger Settings 甚至不会包含他们的 JWT,因为您将无权访问属于其他帐户的凭证。
有关更多详细信息,请参阅有关身份验证和入职的 DABL 文档。