2017-04-27 20 views
1
  1. 如何創建一個新的用戶名/密碼的用戶帳戶,以針對composer-rest-server進行身份驗證?如何向REST API進行身份驗證並映射到結構憑據

  2. 我如何使用這個新創建的用戶帳戶對作曲者休息服務器進行驗證?

  3. 我該如何管理該用戶的會話?

  4. 如何將此用戶映射到網絡參與者?

  5. composer-rest-server用戶可以映射到多個網絡參與者(即執行不同的角色)嗎?

  6. 我是否需要爲每位composer-rest-server用戶創建一個錢包?

  7. 我如何在composer-rest-server的多個實例上共享錢包?

回答

5

在Composer中,您可以建模參與者類型,如org.acme.Person。然後,您可以創建這些參與者類型的實例,例如org.acme.Person#simon,並且這些實例存儲在參與者註冊中心中。

然後,您可以向參與者的實例發出身份。這個過程會生成一個註冊ID和密碼,可以發送給該參與者,以便他們可以註冊。一個身份與一個參與者相關聯,但一個參與者可以具有多個身份。

當參與者使用註冊ID和密碼進行註冊時,將生成註冊證書並將其放入其錢包(使用連接配置文件中的keyValStore屬性進行配置)。註冊證書生成後,註冊機密將失效。祕密只能使用一次 - 它不是密碼。

如果錢包中已存在註冊證書,則不使用註冊密碼。我們已經計劃了一些將來的更改,以使所有API和CLI中的註冊密碼可選,因此您可以忽略它。

當參與者使用該註冊證書提交交易時,Composer chaincode從註冊證書中提取註冊ID,並使用該註冊ID查找該身份已發佈到的參與者實例。這是「當前參與者」。

所有使用permissions.acl中定義的規則的基於Composer的訪問控制都基於當前的參與者。

目前,Composer REST服務器支持在啓動時在命令行上指定的單一註冊ID。對Composer REST服務器的所有REST API調用均使用此註冊證書來提交事務。

有目前正在做改進這項工作: https://github.com/hyperledger/composer/issues/142

請詳細閱讀本GitHub的問題。由於此工作仍在進行中,因此沒有用於配置Composer REST服務器安全性的用戶文檔。

有您的列表中一些有趣的規定:

  • 我將如何管理該用戶的會話?
  • 有API密鑰,但沒有簡單的方法來檢索或管理API密鑰。我有關於擴展REST服務器UI(Swagger UI)以管理API密鑰的想法,但沒有具體的。

    1. Composer-rest-server用戶可以映射到多個網絡參與者(即執行不同的角色)嗎?

    用戶錢包當前可以包含多個身份,但默認情況下僅使用其中的一個身份。用戶可以通過提交REST API調用來選擇默認標識。這足夠嗎?

    1. 我是否需要爲每個composer-rest-server用戶創建一個錢包?

    每個用戶都有自己的一組錢包。當用戶首次登錄時創建默認錢包。用戶可以創建多個錢包,但默認情況下只使用其中的一個。用戶可以通過提交REST API調用來選擇默認錢包。你想分享用戶之間的錢包嗎?

    1. 我如何在composer-rest-server的實例數量上共享錢包?

    您需要使用持久數據存儲(例如MongoDB)將錢包數據保存在多個實例中;再次,這是工作正在進行中,尚未記錄。

    我建議,由於這是正在進行的工作,我們將討論移至GitHub問題:-)

    相關問題