问题描述
我注意到,当我运行 fabric ca 时,它开始注册组织的从属关系。但它正在转换为组织隶属关系的小写。
在Fabric-ca-server-config.yaml 文件下面是名称为airlineOrg
的附属机构在启动 restApi 服务器之前的fabric ca 调试日志中,我看到附属名称正在转换为较低的字母,如下所示。
T他的问题是,为什么fabric ca 将配置的隶属关系名称更改为小写? 因此,我无法创建用户。
因此,我在 getAffiliation 方法的其余 API 服务器代码中所做的事情我已将组织名称 ex: airlineorg 更改为组织的小写,只是为了测试和之后,它在钱包中成功创建。
解决方法
当您在 fabric-ca-server-config.yaml 文件中指定从属关系时,配置文件中的任何非叶条目都将转换为小写。这实际上是由于直接利用配置库来解析/加载配置文件的糟糕设计。所以如果你的配置看起来像:
affiliations:
airlineOrg:
someOtherOrg:
那么存储的从属关系将是 airlineorg
和 someotherorg
,这就是您需要在 API 调用或命令行中指定的内容。
如果你的配置看起来像:
affiliations:
airlineOrg:
- Pilots
- Mechanics
someOtherOrg:
然后只有非叶节点被转换为小写,并且您以 airlineorg.Pilots
和 airlineorg.Mechanics
访问 Pilots 和 Mechanics。