gpt4 book ai didi

hyperledger - 如何对 REST API 进行身份验证并映射到 Fabric 凭据

转载 作者:行者123 更新时间:2023-12-04 02:49:15 25 4
gpt4 key购买 nike

  1. 如何使用用户名/密码创建一个新的用户帐户来对 composer-rest-server 进行身份验证?

  2. 我如何使用这个新创建的用户帐户对 composer-rest-server 进行身份验证?

  3. 我将如何管理该用户的 session ?

  4. 如何将此用户映射到网络参与者?

  5. 能否将 composer-rest-server 用户映射到多个网络参与者(即执行不同的角色)?

  6. 我需要为每个 composer-rest-server 用户创建一个钱包吗?

  7. 我如何在多个 composer-rest-server 实例之间共享钱包?

最佳答案

在 Composer 中,您可以为参与者类型建模,例如 org.acme.Person。然后,您可以创建这些参与者类型的实例,例如 org.acme.Person#simon,这些实例存储在参与者注册表中。

然后您可以向参与者的实例颁发身份。此过程会生成一个注册 ID 和密码,可以将其发送给该参与者,以便他们进行注册。一个身份关联一个参与者,但一个参与者可以有多个身份。

当参与者使用注册 ID 和密码注册时,将生成一个注册证书并将其放入他们的钱包(使用连接配置文件中的 keyValStore 属性进行配置)。一旦生成了注册证书,注册密码就失效了。 secret 只能使用一次 - 它不是密码。

如果钱包中已经存在注册证书,则不使用注册密码。我们计划在未来进行一些更改,使注册密码在所有 API 和 CLI 中成为可选的,因此您可以忽略它。

当该参与者使用该注册证书提交交易时,Composer 链代码从注册证书中提取注册 ID,并使用它来查找向其颁发身份的参与者实例。这是“当前参与者”。

所有基于 Composer 的访问控制,使用 permissions.acl 中定义的规则,是基于当前参与者的。

目前,Composer REST 服务器支持在启动时在命令行上指定的单个注册 ID。对 Composer REST 服务器的所有 REST API 调用都使用此注册证书来提交交易。

目前正在做一些改进工作: https://github.com/hyperledger/composer/issues/142

请详细阅读此 GitHub 问题。由于这项工作仍在进行中,因此没有用于配置 Composer REST 服务器安全性的用户文档。

您的列表中有一些有趣的要求:

  1. 我将如何管理该用户的 session ?

有 API key ,但没有简单的方法来检索或管理 API key 。我有关于扩展 REST 服务器 UI (Swagger UI) 以管理 API key 的想法,但还没有具体的想法。

  1. 能否将 composer-rest-server 用户映射到多个网络参与者(即执行不同的角色)?

一个用户钱包目前可以包含多个身份,但默认情况下只使用其中一个。用户可以通过提交 REST API 调用来选择默认身份。够了吗?

  1. 我需要为每个 composer-rest-server 用户创建一个钱包吗?

每个用户都有自己的一套钱包。用户首次登录时会创建一个默认钱包。一个用户可以创建多个钱包,但默认只使用其中一个。用户可以通过提交 REST API 调用来选择默认钱包。您是否希望在用户之间共享钱包?

  1. 如何在多个 composer-rest-server 实例之间共享钱包?

您需要使用诸如 MongoDB 之类的持久性数据存储来跨多个实例持久保存钱包数据;同样,这是正在进行的工作,尚未记录。

我建议,由于这是正在进行的工作,我们将讨论转移到 GitHub 问题 :-)

关于hyperledger - 如何对 REST API 进行身份验证并映射到 Fabric 凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43655553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com