代码之家  ›  专栏  ›  技术社区  ›  Skadoosh

Composer rest server多用户错误说明

  •  0
  • Skadoosh  · 技术社区  · 7 年前

    我正在尝试Composer rest server多用户模式-

    这是我的设置:

    ->我在启用多用户模式的情况下为alice启动rest服务器,并将identity jdoe添加到钱包中。现在当我试着做一个休息手术时,它说:

    "message": "Error trying login and get user Context. Error: Error trying to enroll user or load channel configuration. Error: Enrollment failed with errors [[{\"code\":20,\"message\":\"Authorization failure\"}]]"
    

    ->此外,如果我试图将戴夫和jdoe的身份添加到查尔斯的钱包中,也会出现相同的错误

    但是多用户模式在以下场景中工作

    爱丽丝 谁是管理员我创建一个参与者' 重新管理

    composer participant add -c alice@trade-network -d '{"$class":"org.hyperledger.composer.system.NetworkAdmin", "participantId":"restadmin"}'
    composer identity issue -c alice@trade-network -f cards/restadmin.card -u restadmin -a "resource:org.hyperledger.composer.system.NetworkAdmin#restadmin"
    
    composer card import -f  cards/restadmin.card
    composer network ping -c restadmin@trade-network
    

    2) 现在我创建另一个参与者 果酱 爱丽丝

    composer participant add -c alice@trade-network -d '{"$class":"org.example.trading.Trader","tradeId":"trader4", "RepfirstName":"Jam","ReplastName":"J"}'
    
    composer identity issue -c alice@trade-network -f cards/jam.card -u jam -a "resource:org.cdc.MortalityCard.State#state4-ny"
    
    composer card import -f cards/jam.card
    
    
    composer card export -f cards/jam_exp.card -c jam@trade-network ; rm cards/jam.card
    

    果酱

    不知道为什么。建议?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Paul O'Mahony    7 年前

    不同的是,在场景2中,您导出了具有凭据(cert/key)的卡-在场景1中,他们试图再次注册(因为您只在卡中拥有机密,没有设置凭据)。

    当身份由Fabric Certificate of Authority(CA)服务器颁发时,将创建一个一次性机密(即创建的卡的一部分)。当卡片是 习惯于 (例如使用卡连接或ping业务网络)第一次,将机密交换为证书/密钥(凭据),然后一次性机密失效。对于场景1,您需要导出它(例如通过composer card export-c jdoe@-f jdoe-plus-cert.card命令行),然后将新的.card文件导入到REST API钱包(例如/import endpoint),然后它也可以在REST API中工作。

    推荐文章