web-applications - Hyperledger Composer Web 应用程序用户身份验证

标签 web-applications hyperledger hyperledger-composer

我已经使用 hyperledger composer 创建了一个业务网络,我创建了一个简单的 web 应用程序,用于添加参与者并使用 angular 通过 web 界面提交事务。

另外,我使用passport为REST服务器启用了身份验证,并且我使用了多用户模式,因此我可以将业务网卡导出到rest api并更改默认卡并通过不同用户提交交易。

现在我想创建我的 Web 应用程序的注册部分,这样我的用户就可以通过 Web 应用程序进行注册,发出一个身份,然后根据他们在 ACL 文件中定义的访问级别提交交易或查看系统。是否有任何资源或任何想法可以指导我如何做?
是否有任何已实现 Web 应用程序并包括用户注册和身份验证的示例?

最佳答案

https://github.com/hyperledger/composer-sample-networks/blob/v0.16.x/packages/trade-network/test/trading.js#L21但是使用 FileSystemCardStore 而不是 MemoryCardStore - 我们现在在文档方面有一个问题 - https://github.com/hyperledger/composer/issues/3088一般流程是:

签发身份,
businessNetworkConnection.issueIdentity(NS + '#' + userData.id,
userData.user); .... var userCard = new IdCard({...});
userCard.setCredentials(credentials); ...

进口卡:
adminConnection.importCard(userCardName, userCard); .... .then(() => {//

连接到业务网络:(使用区块链身份...

businessNetworkConnection = new BusinessNetworkConnection({ cardStore: cardStore }); 
businessNetworkConnection.connect(userCardName); } ...

对于来自该用户的所有后续连接(例如,来自他/她登录的 Web 应用程序):
bizNetworkConnection.connect(`${cardName})

在用户注册位上,一旦您收到注册有效负载,您就可以使用 Composer 为该用户创建参与者和 Composer (区块链)身份 - 然后如上所述创建卡,连接到它(以下载证书)然后导出该卡卡,与刚刚注册的用户共享。使用 REST,您可以导入卡片(具有知道如何连接到 Composer 运行时的连接配置文件),然后它们可以与业务网络进行交互。

做用户注册/认证,不用 sample (别人可能会及时回答)。

其中 cardname 是例如用户 ID 或电子邮件地址,并执行您想要的任何数据更改或交易。

例如,对于使用 JWT 时的 POST/items:
  • 检查它是否具有请求的有效 token
  • 创建新的 BusinessNetworkConnection(上图)或从池中获取
  • 通过传入您从 token 中获得的用户 ID/卡名来连接到此 BusinessNetworkConnection - 这将从卡库中检索卡
  • 一旦连接,用户就可以与业务网络进行交互

  • 在身份验证方面,显然可以保护 REST Server 端点(连接网关保护用于向外消费)。您是否考虑过使用 JWT 作为策略和/或考虑使用 Node-Red 进行注册/身份验证流程?

    无论如何,这些资源可能会帮助您提供一些见解:

    https://medium.freecodecamp.org/securing-node-js-restful-apis-with-json-web-tokens-9f811a92bb52

    https://www.compose.com/articles/authenticating-node-red-with-jsonwebtoken/

    希望这可以帮助。

    关于web-applications - Hyperledger Composer Web 应用程序用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48893410/

    相关文章:

    go - Make peer 或 make Step 2/5 错误上的 Hyperledger Fabric 0.6 设置错误

    hyperledger-composer - 如何解决关系以获取指向的引用?

    c# - C# 设置歌曲时长的方法

    Javascript 全局变量生命周期

    Java Web App FutureTask 进度条

    hyperledger-fabric - 订购者的 Hyperledger Fabric 对等连接错误

    javascript - (hyperledger Composer Playground) 你能在浏览器中看到 console.log ('something' ) 的结果吗?

    tomcat - 在应用服务器上运行maven项目

    apache-kafka - 使用 kafka 服务启动排序器失败

    hyperledger-fabric - 使用 Composer 构建实时应用程序