Hyperledger作曲家Web应用程序的用户认证

问题描述 投票:4回答:1

我已经创建使用hyperledger作曲家的业务网络和我创建了一个简单的Web应用程序通过使用角度通过Web界面添加参与者并提交交易。

另外,我已经启用了使用护照REST服务器验证,我已经使用多用户模式,这样我就可以经营网卡出口到REST API和更改默认的卡,并通过不同的用户提交的事务。

现在,我要创建我的web应用程序的注册部分,所以我的用户可以能够通过Web应用程序进行注册,签发的身份,然后提交交易或查看基于其在ACL文件中定义的访问级别的系统。是否有任何资源或任何想法来指导我我该怎么办呢?有没有已经实现的Web应用程序,包括用户注册和认证任何样品?

web-applications hyperledger hyperledger-composer
1个回答
4
投票

看到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 =新IdCard({...}); userCard.setCredentials(凭证); ...

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

连接到业务网络:(使用blockchain身份...

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

对于来自该用户的所有后续连接(例如,从Web应用程序,他/她登录到。):

bizNetworkConnection.connect(`${cardName})

用户注册一下,一旦你收到了注册的有效载荷,你可以使用Composer来为该用户创建的参与者和作曲家(blockchain)的身份 - 然后创建卡上面,连接到它(拿到证书下载),然后出口是卡,要使用刚刚注册的用户共享。使用REST你可以导入卡(即具有知道如何连接到作曲运行连接配置文件),那么他们可以与企业网络交互。

做用户登录/认证,不具有样本(其他人可能在时间回答)..

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

因此,例如对于POST / JWT使用项目时:

  • 检查是否有与请求有效令牌
  • 创建新BusinessNetworkConnection(上文)或从池中获得
  • 连接到这个BusinessNetworkConnection通过传递用户名/ cardname你从令牌获得 - 这将检索来自cardstore卡
  • 一旦连接,用户可以与商家网络交互

在身份验证,显然REST服务器端点可以固定(固定与外发消费连接网关)。你有没有考虑使用JWT作为考虑的节点,红注册/验证流程的策略和/或?

无论如何,这些资源可以帮助给你一些启示:

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

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

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.