Fabric ca客户端无法为restapi创建用户

问题描述

我注意到,当我运行 fabric ca 时,它开始注册组织的从属关系。但它正在转换为组织隶属关系的小写。

Fabric-ca-server-config.yaml 文件下面是名称airlineOrg

的附属机构

enter image description here

在启动 restApi 服务器之前的fabric ca 调试日志中,我看到附属名称正在转换为较低的字母,如下所示。

enter image description here

T他的问题是,为什么fabric ca 将配置的隶属关系名称更改为小写? 因此,我无法创建用户

因此,我在 getAffiliation 方法的其余 API 服务器代码中所做的事情我已将组织名称 ex: airlineorg 更改为组织的小写,只是为了测试和之后,它在钱包中成功创建。

解决方法

当您在 fabric-ca-server-config.yaml 文件中指定从属关系时,配置文件中的任何非叶条目都将转换为小写。这实际上是由于直接利用配置库来解析/加载配置文件的糟糕设计。所以如果你的配置看起来像:

affiliations:
  airlineOrg:
  someOtherOrg:

那么存储的从属关系将是 airlineorgsomeotherorg,这就是您需要在 API 调用或命令行中指定的内容。

如果你的配置看起来像:

affiliations:
  airlineOrg:
    - Pilots
    - Mechanics
  someOtherOrg:

然后只有非叶节点被转换为小写,并且您以 airlineorg.Pilotsairlineorg.Mechanics 访问 Pilots 和 Mechanics。