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

2024-02-22

我已经使用 Hyperledger Composer 创建了一个业务网络,并且创建了一个简单的 Web 应用程序,用于添加参与者并使用 Angular 通过 Web 界面提交交易。

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

现在,我想创建 Web 应用程序的注册部分,以便我的用户能够通过 Web 应用程序注册、颁发身份,然后根据 ACL 文件中定义的访问级别提交交易或查看系统。有没有任何资源或想法来指导我该怎么做? 有没有实现Web应用程序并包括用户注册和身份验证的示例?


see https://github.com/hyperledger/composer-sample-networks/blob/v0.16.x/packages/trade-network/test/trading.js#L21 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 https://github.com/hyperledger/composer/issues/3088一般流程是:

发行身份, BusinessNetworkConnection.issueIdentity(NS + '#' + userData.id, 用户数据.用户); .... var userCard = new IdCard({...}); userCard.setCredentials(凭证); ...

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

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

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

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

bizNetworkConnection.connect(`${cardName})

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

做用户注册/认证,没有样品(其他人可能会及时回复)..

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

例如,对于使用 JWT 时的 POST /items:

  • 检查请求是否具有有效令牌
  • 创建新的 BusinessNetworkConnection(上图)或从池中获取
  • 通过传入从令牌中获取的 userId/cardname 连接到此 BusinessNetworkConnection - 这将从卡存储中检索卡
  • 连接后,用户可以与业务网络交互

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

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

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

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

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hyperledger Composer Web 应用程序用户身份验证 的相关文章

  • 在 Haskell 中编写 Web 应用程序的最简单方法是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的项目中更多地使用 Haskell 并且我认为如果我可以开始将它用于 Web 应用程序 这将真正
  • 在 DDD 中,表示层可以同时使用 Repository 和 Service 类吗?

    如果表示层只应该使用服务 那么服务类必须公开存储库已实现的相同方法 以使它们可供表示层使用 这似乎是错误的 有人可以帮我澄清一下吗 我敢打赌 这似乎是错误的 因为您实际上并不需要这种抽象级别 应用服务有facades http en wik
  • IIS7 中的 DefaultAppPool 和经典 .NET AppPool 有什么区别?

    我在 IIS 中遇到超时问题 在 web config 中 会话超时设置为 60 分钟 但 20 分钟后会话结束 此问题仅在IIS7中出现 在IIS5中不会出现 经过一番调查 我发现这是由于应用程序池超时造成的 如果应用程序池有 20 分钟
  • 从 .NET Core 1.1.1 升级到 .NET Core 1.1.2 后,Azure 上的 ASP.NET Core 网站无法启动并出现 502.5 错误

    我有一个 NET Core Web 应用程序 我将其部署为 Azure Web 应用程序 直到昨晚我应用 Visual Studio 2017 升级 v15 2 为止 这一直工作得很好 net core版本从1 1 1升级到1 1 2 当我
  • 我可以采取什么方法使用 Web 技术开发桌面应用程序

    我想知道是否有任何方法可以创建一个作为桌面应用程序启动的应用程序 供个人使用 由于桌面应用程序可以使用我的 HDD 文件 我可能想要管理这些文件 但觉得将它们扔到网络服务器上并不安全 但我认为我将来可能想做的是将应用程序移植到网络上 因为我
  • 如何从 Hyperledger Fabric 链码打印和查看日志

    我想在调用链代码中的函数时查看日志 以进行调试 我尝试过这样的事情 var logger shim NewLogger chaincode example02 logger Info get caller data called 我查看了运
  • 以编程方式清除 Silverlight 应用程序存储?

    我为一些客户发布了 Silverlight 应用程序 我在发布更新时遇到问题 我希望当用户最初加载网页时 如果他们的应用程序存储比上次更新网站时旧 那么this http www softcity com article internet
  • 在Web应用程序中调用phonegap插件功能

    我正在构建我的第一个phonegap应用程序 当我打开该应用程序时 我立即将用户重定向 window location 到托管我的网络应用程序的服务器 是否可以从那里加载phonegap 插件 因为 deviceready 事件没有触发 我
  • 使用 Java 的 OpenId 提供者/服务器

    我正在尝试使用 OpenId 服务增强现有的 Java Web 应用程序 以便登录用户可以使用我的 Web 应用程序作为 OpenId 提供程序登录另一个启用 OpenId 的应用程序 My first attempt was to use
  • IMAP 转发器

    我想知道从 IMAP 帐户转发邮件的最快 最可靠的方法是什么 我的大学不允许我们的学生邮箱转发到私人电子邮件帐户 这里每个人都使用 Gmail 或 Hotmail 这是一个政治问题 而不是技术问题 我们确实可以通过 IMAP 访问邮箱 我想
  • 寻找网站测试自动化的方法

    我们开发定制调查网站 我正在寻找一种方法来自动化这些网站的模式测试 调查通常包含许多复杂的规则和分支 这些规则和分支也会根据项目的响应方式而触发 所有调查在发布给客户之前都经过严格测试 此测试需要大量的手动工作 我想了解一些可以通过回答问题
  • iOS7 中“-webkit-overflow-scrolling: touch” 最初的屏幕外元素被破坏

    既然转基因种子已经发布了 我们现在可以谈谈了 看起来 iOS7 中的 webkit overflow scrolling touch 已损坏 最初不在屏幕上的元素的触摸事件不会触发 或者在某些情况下只是不可靠 这是一个例子
  • 使用 google.script.run 从 html 调用库函数

    我使用 Google App Script 实现库 并且使用 google script run 从库中调用函数时遇到一些困难 这是我的图书馆的代码 Code gs function ShowSideBar var html HtmlSer
  • Azure Web 角色中的网站项目

    我正在研究一个新的 ASP Net 项目 我们希望将其托管在 Windows Azure Web 角色中 该项目的技术要求之一是利用 ASP Net 的完整预编译选项 不可更新 单页程序集 Web Site项目模型 与 ASP Net 相反
  • bin 文件夹内任何文件的任何更改是否会导致 ASP.NET Web 应用程序中的应用程序回收?

    我知道在 ASP NET Web 应用程序中 更改位于bin文件夹会导致应用程序回收 但我想知道 正如主题所暗示的那样 是否any文件更改会导致这种行为吗 此场景中是否包含简单的文本文件 那么子文件夹呢 bin文件夹 它们的内容呢 我知道我
  • 移动端跨浏览器网络测试

    在构建网站时 我通常使用以下工具浏览器截图 http browsershots org确保我的页面在不同的浏览器中看起来相当不错 然而 我开始收到关于在不同便携式设备上运行的大量移动浏览器的抱怨 我的问题很简单 如何最好地进行移动跨浏览器测
  • MVVM 在 ASP.NET MVC 4 Web 应用程序中扮演什么角色?

    当我正在阅读 ASP NET MVC 4 这本书时 我对 MVVM 感到好奇 我开始谷歌搜索 找不到任何关于使用 MVVM 开发 Web 应用程序的书籍 所以我一定在这里遗漏了一些信息 据我了解 MVVM是通过knockout js和其他框
  • 外部化 Spring Security 配置?

    我有一个 Web 应用程序 可以使用 Spring Security 的几种不同配置 但是 这些差异配置都是在我的 applicationContext 配置文件中设置的 因此 为了在客户站点调整这些内容 必须在 WAR 文件内修改这些内容
  • 锚定对等点与 CORE_PEER_GOSSIP_EXTERNALENDPOINT?

    为什么要使用锚定同行当可以通过设置实现跨组织通信时CORE PEER GOSSIP EXTERNALENDPOINT在每个同行中 谁能解释一下应该使用的正确方法吗 让我清楚地解释你 在超级账本结构中 共有三种类型的节点 支持同行 承诺同行
  • Ruby on Rails(三)隐藏部分视图

    我正在开发 Ruby on Rails 3 Web 应用程序 我有一个名为User有一列名为role 我正在寻找对视图的这些部分具有 错误 角色的用户隐藏视图部分的最佳方法 例如我希望所有用户都能够看到用户index页面 但我只想要具有角色

随机推荐